def addpu(self, user): userId = user.get('userId', 0) if not userId: return 4 user = User.query.filter_by(isDelete=False, id=userId).first() flag = True if user.power == 1 else False if not user: return 5 data = self.getjson() try: userid = int(data.get('id', 0)) projectid = int(data.get('projectid')) isAdmin = int(data.get('isAdmin', 0)) except: return 2 if not all([userid, projectid]): return 1 puadmin = ProjectUser.query.filter_by(isDelete=False, userid=user.id, projectid=projectid).first() if not puadmin and not flag: #判断权限 return 5 if not puadmin.isAdmin and not flag: #判断权限 return 5 pu = ProjectUser.query.filter_by(isDelete=False, userid=userid, projectid=projectid).first() if pu: return 3 pu = ProjectUser() pu.userid = userid pu.projectid = projectid pu.isAdmin = isAdmin self.create(pu) return 3
def add_new(request): user = request.user if request.method == "POST": form = AddProjectForm(request.POST) if (form.is_valid()): name = form.cleaned_data['name'] project = Project() project.name = name project.user = user project.save() project_user = ProjectUser() project_user.project = project project_user.user = user project_user.save() tag = Tag() tag.name = '#' + name tag.user = user tag.type = 'project' tag.save() return HttpResponseRedirect('/project/' + name) return render(request, 'project/add_new.html', { 'form': AddProjectForm(), })
def populate(): p1 = Person('Alice') p2 = Person('Anamika') p3 = Person('Annie') p4 = Person('Anson') p5 = Person('Bob') p6 = Person('Carol') p7 = Person('Don') p8 = Person('Evi') session.add_all([p1, p2, p3, p4, p5, p6, p7, p8]) orders = [(p1, 'veggies', 120), (p2, 'veggies', 20), (p3, 'veggies', 120), (p4, 'veggies', 10), (p5, 'veggies', 280), (p1, 'ketchup', 80), (p1, 'spices', 220), (p1, 'tissues', 50), (p1, 'notebooks', 90), (p5, 'ketchup', 80)] for person, name, price in orders: order = Order(person, name, price) session.add(order) p1 = Project('BSNL billing', 'alice') p2 = Project('BSNL payroll', 'bob') p3 = Project('ABC Institute', 'bob') pu1 = ProjectUser(p1, 'alice') pu2 = ProjectUser(p1, 'carol') pu3 = ProjectUser(p1, 'don') pu4 = ProjectUser(p2, 'alice') pu5 = ProjectUser(p2, 'carol') pu6 = ProjectUser(p3, 'don') pu7 = ProjectUser(p3, 'carol') session.add_all([p1, p2, p3, pu1, pu2, pu3, pu4, pu5, pu6, pu7]) session.commit()
def addproject(self, user): body = self.getjson() name = body.get('name', '') pname = body.get('pname', '') token = body.get('token', []) isGit = body.get('isGit', 0) groupId = body.get('groupId', 0) groupName = body.get('groupName', '') if type(token) is str: token = [token] res = [ i for i in pname if not (97 <= ord(i) <= 122 or 65 <= ord(i) <= 90) ] if res: return 2 repos_url = body.get('repos_url', '') ip = body.get('ip', '') # startip = body.get('startip', '')备用 统一更新启动 # flag = self.verip(ip) # if not flag or not ip: # return 5 # flag = self.verip(startip) # if not flag or not startip: # return 5 msg = body.get('msg', '') if not all([name, repos_url, token]): return 1 project = Project.query.filter( or_(Project.repos_url == repos_url, Project.pname == pname), Project.isDelete == False).first() userId = user.get('userId', 0) if not userId: return 4 if project: return 3 pobj = Project() pobj.name = name pobj.pname = pname pobj.repos_url = repos_url pobj.ip = ip # pobj.startip = startip pobj.msg = msg pobj.token = json.dumps(token) pobj.groupId = 0 self.create(pobj) if isGit: pobj.groupId = pobj.id if groupId: pobj.groupId = groupId if groupName: pobj.groupName = groupName self.update(pobj) pu = ProjectUser() pu.projectid = pobj.id pu.userid = userId pu.isAdmin = 1 self.create(pu) data = { "name": name, "id": pobj.id, "pname": pname, "repos_url": repos_url, "ip": ip, "msg": msg, "token": token } return data