Skip to content

Commit

Permalink
task's default status change with project's task_audit
Browse files Browse the repository at this point in the history
  • Loading branch information
meolu committed Nov 28, 2018
1 parent d2f4a78 commit aea90ed
Show file tree
Hide file tree
Showing 7 changed files with 34 additions and 42 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,15 @@ Roadmap
- `1.x`迁移到`2.0`脚本
- 接受官网logo企业的`Trouble Shooting`
- **2.0.0** 2018-12-30 :one:元旦前夕
- released tag、使用文档
- `released tag`、使用文档
- 冲刺`github` 5000 `star`(靠你们了)
- **2.0.1** 2019-01-13
- 项目检测、复制
- 任务的回滚
- **2.0.2** 2019-01-20
- Dashboard(全新的玩法,欢迎提issue)
- `Dashboard`(全新的玩法,欢迎提issue)
- **2.1.0** 2019-01-27 :new:新年版
- CAS
- `CAS`
- 冲刺`github` 6000 `star`(靠你们和你们的同事们了)


Expand Down
2 changes: 0 additions & 2 deletions walle/api/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,6 @@ def __init__(self):
# @login_required
def get(self, *args, **kwargs):
self.action = 'get'
current_app.logger.info('========= SecurityResource =======')


return self.validator()

Expand Down
16 changes: 5 additions & 11 deletions walle/api/group.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,19 @@
:created time: 2017-03-25 11:15:01
:author: [email protected]
"""
from flask_login import login_required, current_user
import json

from flask import request
from walle.api.api import SecurityResource
from walle.form.group import GroupForm
from walle.model.member import MemberModel
from walle.model.user import UserModel
from walle.model.space import SpaceModel
from walle.model.tag import TagModel
from walle.api.api import SecurityResource
from flask import current_app
from walle.service.rbac.role import *
from walle.service.extensions import permission
from walle.service.rbac.role import *

class GroupAPI(SecurityResource):

class GroupAPI(SecurityResource):
def get(self, group_id=None):
"""
用户组列表
Expand All @@ -43,7 +42,6 @@ def list(self):
page = page - 1 if page else 0
size = int(request.args.get('size', 10))
kw = request.values.get('kw', '')
filter = {'name': {'like': kw}} if kw else {}
space_model = SpaceModel()
space_list, count = space_model.list(page=page, size=size, kw=kw)
return self.list_json(list=space_list, count=count, enable_create=permission.enable_role(OWNER))
Expand Down Expand Up @@ -91,7 +89,6 @@ def put(self, group_id):
if form.validate_on_submit():
# pass
# user_ids = [int(uid) for uid in form.user_ids.data.split(',')]
import json
current_app.logger.info(form.uid_roles)

current_app.logger.info(json.loads(form.uid_roles))
Expand All @@ -102,9 +99,6 @@ def put(self, group_id):
current_app.logger.info(uid_role)
group_model.create_or_update(uid_role, uid_role)

# group_model.update(group_id=group_id,
# group_name=form.group_name.data,
# user_ids=user_ids)
return self.render_json(data=group_model.item())

return self.render_json(code=-1, message=form.errors)
Expand Down
15 changes: 7 additions & 8 deletions walle/api/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,16 @@

import json

from flask import request, current_app
from flask_login import login_required
from flask import request
from walle.api.api import SecurityResource
from walle.form.project import ProjectForm
from walle.model.project import ProjectModel
from walle.model.member import MemberModel
from walle.service.rbac.role import *
from walle.model.project import ProjectModel
from walle.service.extensions import permission
from walle.service.rbac.role import *


class ProjectAPI(SecurityResource):

@permission.gte_develop_or_uid
def get(self, action=None, project_id=None):
"""
Expand All @@ -47,8 +45,10 @@ def list(self):
environment_id = request.values.get('environment_id', '')

project_model = ProjectModel()
project_list, count = project_model.list(page=page, size=size, kw=kw, environment_id=environment_id, space_id=self.space_id)
return self.list_json(list=project_list, count=count, enable_create=permission.enable_role(MASTER) and current_user.role != SUPER)
project_list, count = project_model.list(page=page, size=size, kw=kw, environment_id=environment_id,
space_id=self.space_id)
return self.list_json(list=project_list, count=count,
enable_create=permission.enable_role(MASTER) and current_user.role != SUPER)

def item(self, project_id):
"""
Expand Down Expand Up @@ -140,4 +140,3 @@ def members(self, project_id, members):
item, count, user_ids = group_model.members()

return self.render_json(data=item)

9 changes: 4 additions & 5 deletions walle/form/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
from flask_wtf import Form
from wtforms import TextField
from wtforms import validators, ValidationError

from flask_login import current_user
from walle.model.project import ProjectModel


Expand Down Expand Up @@ -44,7 +44,7 @@ class ProjectForm(Form):
repo_mode = TextField('repo_mode', [validators.Length(min=1, max=50)])
notice_type = TextField('notice_type', [])
notice_hook = TextField('notice_hook', [])
enable_audit = TextField('enable_audit', [])
task_audit = TextField('task_audit', [])

id = None

Expand All @@ -60,8 +60,7 @@ def validate_name(self, field):
def form2dict(self):
return {
'name': self.name.data if self.name.data else '',
# TODO g.uid
'user_id': 1,
'user_id': current_user.id,

'status': self.status.data if self.status.data else 0,
'master': self.master.data if self.master.data else '',
Expand Down Expand Up @@ -89,5 +88,5 @@ def form2dict(self):

'notice_type': self.notice_type.data if self.notice_type.data else '',
'notice_hook': self.notice_hook.data if self.notice_hook.data else '',
'enable_audit': self.enable_audit.data if self.enable_audit.data else 0,
'task_audit': self.task_audit.data if self.task_audit.data else 0,
}
5 changes: 1 addition & 4 deletions walle/form/task.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,7 @@ def set_id(self, id):

def form2dict(self):
project_info = ProjectModel(id=self.project_id.data).item()
task_status = TaskModel.status_new if project_info['enable_audit'] == ProjectModel.enable_audit_true else TaskModel.status_pass
current_app.logger.info(project_info)
current_app.logger.info(project_info['enable_audit'])
current_app.logger.info(task_status)
task_status = TaskModel.status_new if project_info['task_audit'] == ProjectModel.task_audit_true else TaskModel.status_pass
return {
'name': self.name.data if self.name.data else '',
# todo
Expand Down
23 changes: 14 additions & 9 deletions walle/model/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ class ProjectModel(SurrogatePK, Model):
status_close = 0
status_open = 1

enable_audit_true = 1
enable_audit_false = 0
task_audit_true = 1
task_audit_false = 0

# 表的结构:
id = db.Column(Integer, primary_key=True, autoincrement=True)
Expand Down Expand Up @@ -55,7 +55,7 @@ class ProjectModel(SurrogatePK, Model):
repo_type = db.Column(String(10))
notice_type = db.Column(String(10))
notice_hook = db.Column(Text)
enable_audit = db.Column(Integer)
task_audit = db.Column(Integer)

created_at = db.Column(DateTime, default=current_time)
updated_at = db.Column(DateTime, default=current_time, onupdate=current_time)
Expand Down Expand Up @@ -109,16 +109,19 @@ def item(self, id=None):
"""
id = id if id else self.id
data = self.query.filter(ProjectModel.status.notin_([self.status_remove])).filter_by(id=id).first()

current_app.logger.info(data)
if not data:
return []

data = data.to_json()
project_info = data.to_json()
current_app.logger.info(project_info)
current_app.logger.info(project_info)

ServerModel = model.server.ServerModel
server_ids = data['server_ids']
data['servers_info'] = ServerModel.fetch_by_id(map(int, server_ids.split(',')))
return data
server_ids = project_info['server_ids']
project_info['servers_info'] = ServerModel.fetch_by_id(map(int, server_ids.split(',')))
current_app.logger.info(project_info)
return project_info

def add(self, *args, **kwargs):
# todo permission_ids need to be formated and checked
Expand Down Expand Up @@ -152,6 +155,8 @@ def remove(self, role_id=None):
return ret

def to_json(self):
current_app.logger.info(self.task_audit)
current_app.logger.info(self)
item = {
'id': self.id,
'user_id': self.user_id,
Expand Down Expand Up @@ -180,7 +185,7 @@ def to_json(self):
'repo_type': self.repo_type,
'notice_type': self.notice_type,
'notice_hook': self.notice_hook,
'enable_audit': self.enable_audit,
'task_audit': self.task_audit,
'created_at': self.created_at.strftime('%Y-%m-%d %H:%M:%S'),
'updated_at': self.updated_at.strftime('%Y-%m-%d %H:%M:%S'),
}
Expand Down

0 comments on commit aea90ed

Please sign in to comment.