def create_project(): if session.get('username') is None: next_url = 'project/create' return redirect(url_for('login', next_url=next_url)) if request.method == 'GET': return render_template('projectpublish.html') if request.method == 'POST': project = dict() project['startTime'] = request.form.get('startTime') project['endTime'] = request.form.get('endTime') project['creator'] = session['username'] project['status'] = 0 project['name'] = request.form.get('name') project['type'] = request.form.get('type') project['budget'] = request.form.get('budget') project['description'] = request.form.get('description') project['contact'] = request.form.get('contact') project['contact_mobile'] = request.form.get('contact_mobile') project['contact_email'] = request.form.get('contact_email') project['currentPeople'] = 1 project['created_time'] = datetime.now() project['team'] = [session['username']] project['applier'] = [] project['maxPeople'] = int(request.form.get('maxPeople')) rm = recommend.recommendDesigner() pm = project_manager.ProjectManager() project_id = pm.create_project(project) rm.createPoi(project_id) return redirect(url_for('alldisplay'))
def userattendproject(): # render template without data if request.method == 'GET': return render_template('user_attend_project.html') # request for data if request.method == 'POST': page_size = 4 page_no = int(request.json['page_no']) pm = project_manager.ProjectManager() projects = pm.find_attend_projects_by_user( username=session.get('username'), page_no=page_no, page_size=page_size) response = {} project_list = [] username = session.get('username') for idx, project in enumerate(projects): proj = { 'id': idx + 1, '_id': str(project['_id']), 'name': project['name'], 'creator': str(project['creator']), 'created_time': str(project['created_time']), 'username': username } project_list.append(proj) response['projects'] = project_list project_count = pm.get_attend_project_count_by_user( username=session.get('username')) import math page_count = int(math.ceil(project_count / page_size)) response['page_count'] = page_count response_json = json.dumps(response, default=json_util.default) return response_json
def apply_project(): username = session.get('username') if username: pm = project_manager.ProjectManager() pm.apply_project(username, request.json['project_id']) print request.json print pm.find_project_by_id(request.json['project_id']) return '123' return 'login'
def quit_project(): username = session.get('username') if username: pm = project_manager.ProjectManager() is_success = pm.quit(username=username, project_id=request.json['project_id']) if is_success: return jsonify(dict(result='ok')) else: return jsonify(dict(result='fail'))
def singledisplay(project_id): pm = project_manager.ProjectManager() projects = pm.find_project_by_id(project_id) rm = recommend.recommendDesigner() flag = request.args.get('flag') if (flag == '1' and session.get('username')): print 'dasjgasdlfkiu' rm.updatePoi(project_id, session.get('username')) print projects['team'] return render_template('projectdisplay.html', project=projects)
def show_project_logs(): log = jlog.get_log_by_project_id(request.args.get('project_id')) pm = project_manager.ProjectManager() log['project'] = pm.find_project_by_id(log['project_id']) def get_p_time(time): time = str(time) return time[:len(time) - 7] return render_template("projectshowlogs.html", log=log, get_p_time=get_p_time)
def project_search(): pm = project_manager.ProjectManager() input = request.form['input'] print 'input' + input page = int(request.args.get('page', 1)) page = max(1, page) projects = pm.project_search(input, page=page) pages = len(list(projects)) / 9 + 1 print pages return render_template('projectshow.html', projects=projects, page=page, pages=range(pages))
def permit_apply(): username = session.get('username') if username: pm = project_manager.ProjectManager() mes = message.find_mes_by_id(request.json['message_id']) applier = mes['username'] project_id = mes['project_id'] if username == mes['project_owner']: pm.approve_applier(applier, project_id, request.json['message_id']) return jsonify(dict(result='ok')) else: print '没有权限' return jsonify(dict(result='false')) return 'login'
def alldisplay(): pm = project_manager.ProjectManager() page = int(request.args.get('page', 1)) page = max(1, page) projects = pm.find_all_project(page=page) pages = pm.project_count() if session.get('username'): rm = recommend.recommendDesigner() recommendprojects = rm.recomendSta(session.get('username')) return render_template('projectshow.html', projects=projects, page=page, pages=range(pages), reprojects=recommendprojects) return render_template('projectshow.html', projects=projects, page=page, pages=range(pages))
def showprojectdetail(): project_id = request.args.get('project_id') pm = project_manager.ProjectManager() project = pm.find_project_by_id(project_id) project['teamList'] = project['team'][:] for i, t_user in enumerate(project['team']): _user = auth.find_user_by_username(t_user) project['team'][i] = _user project['creator'] = auth.find_user_by_username(project['creator']) cm = comment.CommentManager() comments = cm.get_all_comment_by_projectid(str(project['_id'])) for _comment in comments: _username = _comment['username'] _user = auth.find_user_by_username(_username) _comment['user'] = _user def get_p_time(time): time = str(time) return time[:len(time) - 7] return render_template('showprojectdetail.html', project=project, comments=comments, get_p_time=get_p_time)
def more_projects(): pm = project_manager.ProjectManager() projects = list(pm.find_all_project()) return json.dumps(projects, default=json_util.default)
def project_edit(): project_id = request.args.get('project_id') pm = project_manager.ProjectManager() project = pm.find_project_by_id(project_id) return render_template('project_edit.html', project=project)
def end_project(): project_id = request.args.get('project_id') project_manager.ProjectManager().finish_project(project_id) return redirect(url_for('showprojectdetail', project_id=project_id))