def register(name=None): """ Adds a new user to the wishlist user base""" title="Register" error=None if request.method == "GET": return render_template("register.html",title=title) if request.method == "POST": print "method is post" if request.form['firstname']=="" or request.form['lastname'] =="" or request.form['email']=="" or request.form['password'] =="" or request.form['password_conf'] =="": error="Invalid User Info Supplied" print error else: try: if request.form['password'] !=request.form['password_conf']: error ="passwords dont match" else: created_user = User(request.form['firstname'].upper(),request.form['lastname'].upper(),request.form['email'].lower(),request.form['password'].upper()) conn = sqlite3.connect(app.config['DATABASE']) if conn is not None: cur = conn.cursor() cur.execute("SELECT * from wishlist_users where email=?",(created_user.email)) row = cur.fetchone() if row is None: cur.execute("INSERT INTO wishlist_users (firstname,lastname,email,password) VALUES (?,?,?,?)", (created_user.firstname, created_user.lastname, created_user.email, created_user.password) ) conn.commit() else: raise ValueError print created_user.firstname error= "User Created Successfully! Please go to login page" except: error="Registration Failed" return render_template("register.html",title=title,error=error)
def login(): """ Verifies whether or not user has access to wishlist""" title="Login" if request.method == "GET": return render_template("login.html",title=title) if request.method == "POST": request.form[''] return render_template("login.html",title=title)
def login(): """ Verifies whether or not user has access to wishlist""" title = "Login" if request.method == "GET": return render_template("login.html", title=title) if request.method == "POST": request.form[''] return render_template("login.html", title=title)
def login(): """ Verifies whether or not user has access to wishlist""" title="Login" if request.method == "GET": return render_template("login.html",title=title) if request.method == "POST": print "inside post" if valid_login(request.form['email'],request.form['password']): print "valid user" return log_the_user_in(request.form['email'].lower()) else: error="Failed Login" return render_template("login.html",title=title,error=error)
def board_write(): if session["id"] is None or session["id"] == "": return redirect(url_for("board.member_login")) if request.method == "POST": #name = request.form.get("name") writer_id = session.get("id") title = request.form.get("title") contents = request.form.get("contents") current_utc_time = round(datetime.utcnow().timestamp() * 1000) board = mongo.db.board post = { "writer_id": writer_id, "name": session["name"], "title": title, "contents": contents, "view": 0, "pubdate": current_utc_time, } x = board.insert_one(post) return redirect(url_for("board.board_view", idx=x.inserted_id)) else: return render_template("write.html", name=session["name"], title="글 작성")
def getwall(): """ Fast estimate Wall """ categories = [(c.id, c.name) for c in Category.query.all()] c_form = ColumnEntryForm(request.form) f_form = FoundationEntryForm(request.form) o_form = OpeningForm(request.form) sb_form = BeamEntryForm(request.form) w_form = WallEntryForm(request.form) c_form.category.choices = categories f_form.category.choices = categories o_form.category.choices = categories sb_form.category.choices = categories w_form.category.choices = categories return render_template('wall_index.html', title='FastEstimate Wall', beam_form=sb_form, column_form=c_form, foundation_form=f_form, opening_form=o_form, wall_form=w_form, beams=Beam.query.all(), columns=Column.query.all(), foundations=Foundation.query.all(), openings=Opening.query.all(), walls=Wall.query.all())
def project_write(): col = mongo.db.version_list_customer data = col.find({}).sort("pubdate",-1) if request.method == "POST": project_name1 = request.form.get("project_name1") project_name2 = request.form.get("project_name2") name = request.form.get("name") startdate = request.form.get("startdate") enddate = request.form.get("enddate") author = request.form.get("author") current_utc_time = round(datetime.utcnow().timestamp() * 1000) post = { "project_name1" : project_name1, "project_name2" : project_name2, "name" : name, "startdate" : startdate, "enddate" : enddate, "author" : author, "pubdate": current_utc_time, } col.insert_one(post) return redirect(url_for("project.project_write", data=data)) else: return render_template("project_write.html", data=data)
def walls(page=1): """ This method returns the list of all products in the database in JSON format """ walls = Wall.query.paginate(page, 5) return render_template('walls.html', title='Walls', walls=walls)
def board_edit(idx): if request.method == "GET": board = mongo.db.board data = board.find_one({"_id": ObjectId(idx)}) if data is None: flash("해당 게시물이 존재하지 않습니다.") return redirect(url_for("board.lists")) else: if session.get("id") == data.get("writer_id"): return render_template("edit.html", data=data, title="글 수정") else: flash("글 수정 권한이 없습니다.") return redirect(url_for("board.lists")) else: title = request.form.get("title") contents = request.form.get("contents") board = mongo.db.board data = board.find_one({"_id": ObjectId(idx)}) if data.get("writer_id") == session.get("id"): board.update_one({"_id": ObjectId(idx)}, { "$set": { "title": title, "contents": contents, } }) flash("수정되었습니다.") return redirect(url_for("board.board_view", idx=idx)) else: flash("글 수정 권한이 없습니다.") return redirect(url_for("board.lists"))
def create_category(): form = CategoryForm(request.form) return render_template( 'category_create.html', title='Category By Id', form=form, )
def register(name=None): """ Adds a new user to the wishlist user base""" title="Register" error=None if request.method == "GET": return render_template("register.html",title=title) if request.method == "POST": print "method is post" print request.form['firstname'] if request.form['firstname']=="" or request.form['lastname'] =="" or request.form['email']=="" or request.form['password'] =="" or request.form['password_conf'] =="": error="Invalid User Info Supplied" created_user = User(request.form['firstname'],request.form['lastname'],request.form['email'],request.form['password']) print created_user if created_user == "<User ''>": print error return render_template("register.html",title=title,error=error)
def admin(): # Check if admin is logged-in if not admin_loggedin(): return redirect(url_for('login')) msg = '' # Retrieve all accounts from the database cursor = mysql.connection.cursor(MySQLdb.cursors.DictCursor) cursor.execute('SELECT * FROM accounts') accounts = cursor.fetchall() return render_template('admin/index.html', accounts=accounts)
def home(): """ Fast estimate Home Page """ wall_resource = 'http://localhost:8090/wall/:WA1' res = requests.get(wall_resource) wall_ = loads(res.text) return render_template( 'index.html', title='FastEstimate', message="Create Professional Construction Estimates in Seconds.", wall=wall_)
def register(name=None): """ Adds a new user to the wishlist user base""" title = "Register" error = None if request.method == "GET": return render_template("register.html", title=title) if request.method == "POST": print "method is post" print request.form['firstname'] if request.form['firstname'] == "" or request.form[ 'lastname'] == "" or request.form[ 'email'] == "" or request.form[ 'password'] == "" or request.form[ 'password_conf'] == "": error = "Invalid User Info Supplied" created_user = User(request.form['firstname'], request.form['lastname'], request.form['email'], request.form['password']) print created_user if created_user == "<User ''>": print error return render_template("register.html", title=title, error=error)
def test_render_template(): path = pathlib.Path("./nbs/other/Assessment.ipynb") path_id = main.get_id(path) nb, _ = main.convert_html(path) nb = nb.replace("{{root}}", main.ROOT) html = main.render_template("content.html", { "nb": nb, "root": main.ROOT, "id": path_id, }) assert type(html) is str assert main.ROOT in html assert path_id in html assert nb in html
def lists(): page = request.args.get("page", 1, type=int) limit = request.args.get("limit", 10, type=int) search = request.args.get("search", -1, type=int) keyword = request.args.get("keyword", "", type=str) query = {} search_list = [] if search == 0: search_list.append({"title": {"$regex": keyword}}) elif search == 1: search_list.append({"contents": {"$regex": keyword}}) elif search == 2: search_list.append({"title": {"$regex": keyword}}) search_list.append({"contents": {"$regex": keyword}}) elif search == 3: search_list.append({"name": {"$regex": keyword}}) if len(search_list) > 0: query = {"$or": search_list} board = mongo.db.board datas = board.find(query).skip((page-1) * limit).limit(limit) tot_count = board.find(query).count() last_page_num = math.ceil(tot_count / limit) block_size = 5 block_num = int((page-1) / block_size) block_start = int((block_size * block_num) + 1) block_last = math.ceil(block_start + (block_size-1)) return render_template( "list.html", datas=datas, limit=limit, page=page, block_start=block_start, block_last=block_last, last_page=last_page_num, search=search, keyword=keyword, title="게시판 리스트" )
def admin_emailtemplate(): # Check if admin is logged-in if not admin_loggedin(): return redirect(url_for('login')) # Get the template directory path template_dir = os.path.join(os.path.dirname(__file__), 'templates') # Update the template file on save if request.method == 'POST': content = request.form['content'].replace('\r', '') open(template_dir + '/activation-email-template.html', mode='w', encoding='utf-8').write(content) # Read the activation email template content = open(template_dir + '/activation-email-template.html', mode='r', encoding='utf-8').read() return render_template('admin/email-template.html', content=content)
def view_test(): """ Verifies whether or not user has access to test""" try: conn = sqlite3.connect(app.config['DATABASE']) print "connect done" if conn is not None: cur = conn.cursor() print "cursor done" cur.execute("SELECT * from wishlist_users") print "execute done" row = cur.fetchone() if row is not None: print "fetch done in if" return jsonify(uid=row[0],email=row[3],firstname=row[1],lastname=row[2]) else: raise ValueError except: error="Failed to generate json" return render_template('home.html', error=error)
def project_view(): idx = request.args.get("idx") if idx is not None: col = mongo.db.version_list_customer data = col.find_one({"_id": ObjectId(idx)}) result = { "id": data.get("_id"), "project_name1": data.get("project_name1"), "project_name2": data.get("project_name2"), "name": data.get("name"), "startdate": data.get("startdate"), "enddate": data.get("enddate"), "author": data.get("author"), "pubdate": data.get("pubdate") } #return(result['project_name']) return render_template("project_view.html", result=result) return abort(400)
def wall_result(): """ Fast estimate Wall """ data = dict(doc_id=uu_id('doc')) if request.method == 'POST': data['wall_tag'] = request.form.get('tag') data['length'] = request.form.get('length') data['height'] = request.form.get('height') #data['category'] = Category.query.get_or_404(request.form.get('category')) data['rebar'] = dict(hbar=request.form.get('h_bar_type'), hspacing=request.form.get('h_bar_spacing'), vbar=request.form.get('v_bar_type'), vspacing=request.form.get('v_bar_spacing')) #qsr = qsrep.Stuctural #product = Product(name, price, category, uid) openings_dict = {} openings = Opening.query.filter_by(wall_tag=data['wall_tag']).all() if openings is not None: for opening in openings: openings_dict[opening.tag] = { 'w': opening.width, 'h': opening.height, 'amt': opening.amount } else: openings_dict = None wall_bq = estimator.Walls(data['length'], data['height'], openings_dict) data['estimate'] = wall_bq.wall #wall_data = str(data) #wall_resource = 'http://localhost:8090/wall/:' + wall_data #res = requests.get(wall_resource) #wall_ = loads(res.text) return render_template('wall_result.html', title='FastEstimate Wall', data=data, opening=openings_dict)
def getwall(): """ Fast estimate Wall """ categories = [(c.id, c.name) for c in Category.query.all()] w_form = WallEntryForm(request.form) o_form = OpeningForm(request.form) sb_form = BeamEntryForm(request.form) o_form.category.choices = categories w_form.category.choices = categories sb_form.category.choices = categories openings = Opening.query.all() beams = Beam.query.all() return render_template('wall_index.html', title='FastEstimate Wall', wall_form=w_form, opening_form=o_form, beam_form=sb_form, openings=openings, beams=beams)
def board_view(): idx = request.args.get("idx") page = request.args.get("page", 1, type=int) search = request.args.get("search", -1, type=int) keyword = request.args.get("keyword", "", type=str) if idx is not None: board = mongo.db.board #data = board.find_one({"_id": ObjectId(idx)}) data = board.find_one_and_update({"_id": ObjectId(idx)}, {"$inc": {"view": 1}}, return_document=True) if data is not None: result = { "id": data.get("_id"), "name": data.get("name"), "title": data.get("title"), "contents": data.get("contents"), "pubdate": data.get("pubdate"), "writer_id": data.get("writer_id", "") } return render_template("view.html", result=result, page=page, search=search, keyword=keyword, title="글 상세보기") return abort(400)
def view_list(uid): """ Verifies whether or not user has access to wishlist""" error=None return render_template("wishlist.html",error=error)
def home(name=None): title = "Home" return render_template("home.html", title=title)
def home(error=None): title="Home" return render_template("home.html",title=title,error=error)
def home(name=None): title="Home" return render_template("home.html",title=title)
def internal_server_error(e): return render_template('500.html', title='Server Fault'), 500
def categories(): categories = Category.query.all() return render_template('categories.html', title='Categories', categories=categories)
def page_not_found(e): return render_template('404.html', title='Not Found'), 404
def category(id): category = Category.query.get_or_404(id) return render_template('category.html', title='Category By Id', category=category)
def project_schedule(): day = datetime.now() #현재 날짜 계산 #table 헤더 값을 구함 현재 달에서 -3, +8 th = [ '<th>' + (day - relativedelta(months = 3)).strftime('%Y-%m') + '</th>', '<th>' + (day - relativedelta(months = 2)).strftime('%Y-%m') + '</th>', '<th>' + (day - relativedelta(months = 1)).strftime('%Y-%m') + '</th>', '<th style="background-color:#FA58AC"><font color="#FFFFFF">' + day.strftime('%Y-%m') + '</font></th>', '<th>' + (day + relativedelta(months = 1)).strftime('%Y-%m') + '</th>', '<th>' + (day + relativedelta(months = 2)).strftime('%Y-%m') + '</th>', '<th>' + (day + relativedelta(months = 3)).strftime('%Y-%m') + '</th>', '<th>' + (day + relativedelta(months = 4)).strftime('%Y-%m') + '</th>', '<th>' + (day + relativedelta(months = 5)).strftime('%Y-%m') + '</th>', '<th>' + (day + relativedelta(months = 6)).strftime('%Y-%m') + '</th>', '<th>' + (day + relativedelta(months = 7)).strftime('%Y-%m') + '</th>' ] #version_list_TCS DB 연결 col = mongo.db.version_list_TCS #version_list_TCS에 저장된 data중 가장 최신 date의 data만 find date_temp = list(col.find({}, {"_id":0, "date":1})) date = sorted(date_temp, reverse = True, key = lambda x:(x['date'])) #DB에서 enddate가 table th 범위 안에 있고 date가 오늘 날짜 인것만 find data = list(col.find({"$and": [ {"enddate":{"$gte":(day - relativedelta(months = 3)).strftime('%Y-%m-%d')}}, {"enddate":{"$lte":(day + relativedelta(months = 8)).strftime('%Y-%m-%d')}}, {"date":(date[0]['date'])} ]}, {"project_key":1,"project_name":1 , "name":1, "enddate":1, "date":1} )) #data에서 중복 제거한 project_key 값을 추출하여 project_key_only에 저장 project_key_only = [] for i in range(len(data)): if data[i]['project_key'] not in project_key_only: project_key_only.append(data[i]['project_key']) #project_key를 key로 하는 dict 형태로 data를 변경하여 temp에 저장 temp = {} for i in range(0, len(project_key_only)): temp1 = [] for j in range(0, len(data)): if project_key_only[i] == data[j]['project_key']: temp1.append([data[j]['project_name'], data[j]['name'], data[j]['enddate']]) temp.setdefault(project_key_only[i],temp1) #temp에 저장된 data를 월별로 final에 저장 final = [] for i in range(0, len(project_key_only)): first_temp = '' second_temp = '' third_temp = '' fourth_temp = '' fifth_temp ='' sixth_temp = '' seventh_temp = '' eightth_temp = '' nineth_temp = '' tenth_temp = '' eleventh_temp = '' for j in range(0, len(temp[project_key_only[i]])): if temp[project_key_only[i]][j][2][:-3] == (day - relativedelta(months = 3)).strftime('%Y-%m'): first_temp += str(temp[project_key_only[i]][j][1]) + ' (' + str(temp[project_key_only[i]][j][2][8:]) + '일)' + '<br>' if temp[project_key_only[i]][j][2][:-3] == (day - relativedelta(months = 2)).strftime('%Y-%m'): second_temp += str(temp[project_key_only[i]][j][1]) + ' (' + str(temp[project_key_only[i]][j][2][8:]) + '일)' + '<br>' if temp[project_key_only[i]][j][2][:-3] == (day - relativedelta(months = 1)).strftime('%Y-%m'): third_temp += str(temp[project_key_only[i]][j][1]) + ' (' + str(temp[project_key_only[i]][j][2][8:]) + '일)' + '<br>' if temp[project_key_only[i]][j][2][:-3] == (day.strftime('%Y-%m')): fourth_temp += str(temp[project_key_only[i]][j][1]) + ' (' + str(temp[project_key_only[i]][j][2][8:]) + '일)' + '<br>' if temp[project_key_only[i]][j][2][:-3] == (day + relativedelta(months = 1)).strftime('%Y-%m'): fifth_temp += str(temp[project_key_only[i]][j][1]) + ' (' + str(temp[project_key_only[i]][j][2][8:]) + '일)' + '<br>' if temp[project_key_only[i]][j][2][:-3] == (day + relativedelta(months = 2)).strftime('%Y-%m'): sixth_temp += str(temp[project_key_only[i]][j][1]) + ' (' + str(temp[project_key_only[i]][j][2][8:]) + '일)' + '<br>' if temp[project_key_only[i]][j][2][:-3] == (day + relativedelta(months = 3)).strftime('%Y-%m'): seventh_temp += str(temp[project_key_only[i]][j][1]) + ' (' + str(temp[project_key_only[i]][j][2][8:]) + '일)' + '<br>' if temp[project_key_only[i]][j][2][:-3] == (day + relativedelta(months = 4)).strftime('%Y-%m'): eightth_temp += str(temp[project_key_only[i]][j][1]) + ' (' + str(temp[project_key_only[i]][j][2][8:]) + '일)' + '<br>' if temp[project_key_only[i]][j][2][:-3] == (day + relativedelta(months = 5)).strftime('%Y-%m'): nineth_temp += str(temp[project_key_only[i]][j][1]) + ' (' + str(temp[project_key_only[i]][j][2][8:]) + '일)' + '<br>' if temp[project_key_only[i]][j][2][:-3] == (day + relativedelta(months = 6)).strftime('%Y-%m'): tenth_temp += str(temp[project_key_only[i]][j][1]) + ' (' + str(temp[project_key_only[i]][j][2][8:]) + '일)' + '<br>' if temp[project_key_only[i]][j][2][:-3] == (day + relativedelta(months = 7)).strftime('%Y-%m'): eleventh_temp += str(temp[project_key_only[i]][j][1]) + ' (' + str(temp[project_key_only[i]][j][2][8:]) + '일)' + '<br>' final.append({ "project_key": project_key_only[i], "project_name1": temp[project_key_only[i]][j][0], "type": "TCS", "1st": first_temp[:-4], "2st":second_temp[:-4], "3st": third_temp[:-4], "4st": fourth_temp[:-4], "5st": fifth_temp[:-4], "6st": sixth_temp[:-4], "7st": seventh_temp[:-4], "8st": eightth_temp[:-4], "9st": nineth_temp[:-4], "10st": tenth_temp[:-4], "11st": eleventh_temp[:-4] }) #고객사 프로젝트 리스트 연결, 검색 col = mongo.db.version_list_customer c_data = list(col.find({}, {"_id":0})) for i in range(0, len(c_data)): if c_data[i]['project_name1'] == '': c_data[i]['project_name1'] = c_data[i]['project_name2'] c_data = sorted(c_data, reverse = False, key = lambda x:(x['enddate'])) #고객사 프로젝트 DB에서 중복을 제거한 고객사 프로젝트 리스트를 c_project_name에 저장 c_project_name = [] for i in range(0, len(c_data)): c_project_name.append(c_data[i]['project_name2']) c_project_name = list(set(c_project_name)) #c_data를 dic 형식으로 변경하여 c_data_dic에 저장 c_data_dic = {} for i in range(0, len(c_project_name)): c_temp = [] for j in range(0, len(c_data)): if c_data[j]['project_name2'] == c_project_name[i]: c_temp.append([c_data[j]['project_name1'], c_data[j]['name'], c_data[j]['startdate'], c_data[j]['enddate']]) c_data_dic.setdefault(c_project_name[i], c_temp) c_final = [] for i in range(0, len(c_project_name)): first_temp = '' second_temp = '' third_temp = '' fourth_temp = '' fifth_temp ='' sixth_temp = '' seventh_temp = '' eightth_temp = '' nineth_temp = '' tenth_temp = '' eleventh_temp = '' project_name = '' for j in range(0, len(c_data_dic[c_project_name[i]])): if c_data_dic[c_project_name[i]][j][2][:-3] == (day - relativedelta(months = 3)).strftime('%Y-%m'): first_temp += str(c_data_dic[c_project_name[i]][j][1]) + ' (' + str(c_data_dic[c_project_name[i]][j][3][8:]) + '일)' + '<br>' if c_data_dic[c_project_name[i]][j][2][:-3] == (day - relativedelta(months = 2)).strftime('%Y-%m'): second_temp += str(c_data_dic[c_project_name[i]][j][1]) + ' (' + str(c_data_dic[c_project_name[i]][j][3][8:]) + '일)' + '<br>' if c_data_dic[c_project_name[i]][j][2][:-3] == (day - relativedelta(months = 1)).strftime('%Y-%m'): third_temp += str(c_data_dic[c_project_name[i]][j][1]) + ' (' + str(c_data_dic[c_project_name[i]][j][3][8:]) + '일)' + '<br>' if c_data_dic[c_project_name[i]][j][2][:-3] == (day.strftime('%Y-%m')): fourth_temp += str(c_data_dic[c_project_name[i]][j][1]) + ' (' + str(c_data_dic[c_project_name[i]][j][3][8:]) + '일)' + '<br>' if c_data_dic[c_project_name[i]][j][2][:-3] == (day + relativedelta(months = 1)).strftime('%Y-%m'): fifth_temp += str(c_data_dic[c_project_name[i]][j][1]) + ' (' + str(c_data_dic[c_project_name[i]][j][3][8:]) + '일)' + '<br>' if c_data_dic[c_project_name[i]][j][2][:-3] == (day + relativedelta(months = 2)).strftime('%Y-%m'): sixth_temp += str(c_data_dic[c_project_name[i]][j][1]) + ' (' + str(c_data_dic[c_project_name[i]][j][3][8:]) + '일)' + '<br>' if c_data_dic[c_project_name[i]][j][2][:-3] == (day + relativedelta(months = 3)).strftime('%Y-%m'): seventh_temp += str(c_data_dic[c_project_name[i]][j][1]) + ' (' + str(c_data_dic[c_project_name[i]][j][3][8:]) + '일)' + '<br>' if c_data_dic[c_project_name[i]][j][2][:-3] == (day + relativedelta(months = 4)).strftime('%Y-%m'): eightth_temp += str(c_data_dic[c_project_name[i]][j][1]) + ' (' + str(c_data_dic[c_project_name[i]][j][3][8:]) + '일)' + '<br>' if c_data_dic[c_project_name[i]][j][2][:-3] == (day + relativedelta(months = 5)).strftime('%Y-%m'): nineth_temp += str(c_data_dic[c_project_name[i]][j][1]) + ' (' + str(c_data_dic[c_project_name[i]][j][3][8:]) + '일)' + '<br>' if c_data_dic[c_project_name[i]][j][2][:-3] == (day + relativedelta(months = 6)).strftime('%Y-%m'): tenth_temp += str(c_data_dic[c_project_name[i]][j][1]) + ' (' + str(c_data_dic[c_project_name[i]][j][3][8:]) + '일)' + '<br>' if c_data_dic[c_project_name[i]][j][2][:-3] == (day + relativedelta(months = 7)).strftime('%Y-%m'): eleventh_temp += str(c_data_dic[c_project_name[i]][j][1]) + ' (' + str(c_data_dic[c_project_name[i]][j][3][8:]) + '일)' + '<br>' project_name = c_data_dic[c_project_name[i]][j][0] c_final.append({ "project_key": '', "project_name1": project_name, "type": c_project_name[i], "1st": first_temp[:-4], "2st":second_temp[:-4], "3st": third_temp[:-4], "4st": fourth_temp[:-4], "5st": fifth_temp[:-4], "6st": sixth_temp[:-4], "7st": seventh_temp[:-4], "8st": eightth_temp[:-4], "9st": nineth_temp[:-4], "10st": tenth_temp[:-4], "11st": eleventh_temp[:-4] }) result_final = final + c_final result_final = sorted(result_final, reverse = True, key = lambda x:(x['project_name1'])) col = mongo.db.project_schedule_list col.delete_many({}) for i in range(0, len(result_final)): col.insert_one({ 'project_key': result_final[i]['project_key'], 'project_name': result_final[i]['project_name1'], 'type' : result_final[i]['type'], '1st': result_final[i]['1st'], '2st': result_final[i]['2st'], '3st': result_final[i]['3st'], '4st': result_final[i]['4st'], '5st': result_final[i]['5st'], '6st': result_final[i]['6st'], '7st': result_final[i]['7st'], '8st': result_final[i]['8st'], '9st': result_final[i]['9st'], '10st': result_final[i]['10st'], '11st': result_final[i]['11st'] }) #project_schedule_list collection에 등록되어 있는 Document를 _id 빼고 검색 data = list(col.find({},{'_id':0})) td = [] #data를 리스트 형식으로 변한해서 td에 집어 넣는 구문 for i in range(0, len(data)): if data[i]['type'] == "TCS": td.append(['<td class="first td1" width="200" style=word-break:break-all"><a href="https://tcs.telechips.com:8443/projects/' + data[i]['project_key'] + '?selectedItem=com.atlassian.jira.jira-projects-plugin%3Arelease-page&status=no-filter"><font color="white" size="2">' + data[i]['project_name'] + '</font></a></td>', \ data[i]['type'], data[i]['1st'], data[i]['2st'], data[i]['3st'], data[i]['4st'], data[i]['5st'], data[i]['6st'], data[i]['7st'], data[i]['8st'], data[i]['9st'], data[i]['10st'], data[i]['11st']]) else: td.append([data[i]['project_name'], data[i]['type'], data[i]['1st'], data[i]['2st'], data[i]['3st'], data[i]['4st'], data[i]['5st'], data[i]['6st'], data[i]['7st'], data[i]['8st'], data[i]['9st'], data[i]['10st'], data[i]['11st']]) return render_template("project_schedule.html", th=th, td=td)
def forbidden(e): return render_template('403.html', title='Forbidden'), 403
def admin_account(id): # Check if admin is logged-in if not admin_loggedin(): return redirect(url_for('login')) page = 'Создать' cursor = mysql.connection.cursor(MySQLdb.cursors.DictCursor) # Default input account values account = { 'username': '', 'password': '', 'email': '', 'activation_code': '', 'rememberme': '', 'role': 'Member' } roles = ['Member', 'Admin'] # GET request ID exists, edit account if id: # Edit an existing account page = 'Редактировать' # Retrieve account by ID with the GET request ID cursor.execute('SELECT * FROM accounts WHERE id = %s', (id, )) account = cursor.fetchone() if request.method == 'POST' and 'submit' in request.form: # update account password = account['password'] if account['password'] != request.form['password']: hash = request.form['password'] + app.secret_key hash = hashlib.sha1(hash.encode()) password = hash.hexdigest() cursor.execute( 'UPDATE accounts SET username = %s, password = %s, email = %s, activation_code = %s, rememberme = %s, role = %s WHERE id = %s', ( request.form['username'], password, request.form['email'], request.form['activation_code'], request.form['rememberme'], request.form['role'], id, )) mysql.connection.commit() return redirect(url_for('admin')) if request.method == 'POST' and 'delete' in request.form: # delete account cursor.execute('DELETE FROM accounts WHERE id = %s', (id, )) mysql.connection.commit() return redirect(url_for('admin')) if request.method == 'POST' and request.form['submit']: # Create new account hash = request.form['password'] + app.secret_key hash = hashlib.sha1(hash.encode()) password = hash.hexdigest() cursor.execute( 'INSERT INTO accounts (username,password,email,activation_code,rememberme,role) VALUES (%s,%s,%s,%s,%s,%s)', ( request.form['username'], password, request.form['email'], request.form['activation_code'], request.form['rememberme'], request.form['role'], )) mysql.connection.commit() return redirect(url_for('admin')) return render_template('admin/account.html', account=account, page=page, roles=roles)