def GET(self): if web.ctx.session.login != 1: raise web.seeother('/#login') addCard = form.Form( form.Textbox('card_num', description='Card ID', class_='form-control'), form.Textbox('card_name', description='Name', class_='form-control'), form.Textbox('unit', description='Unit', class_='form-control'), form.Dropdown('type', [('S', 'Student'), ('T', 'Teacher')], description='Identity', class_='form-control'), form.Hidden("optype", value="add"), # form.Button('Create', class_ = "btn btn-primary") ) removeCard = form.Form( form.Textbox('card_num', description="Card ID", class_='form-control'), form.Hidden("optype", value="remove"), # form.Button("Submit", class_ = "btn btn-primary"), ) return render.managecard(addCard, removeCard, web.ctx.session)
def init_form(self, proj=None, date=None, page=None): years, latest = model.get_dates() if proj == None: search = form.Form( form.Dropdown('proj', config.PROJECTS, description=''), form.Dropdown('year', years, value=latest, description=''), form.Textbox('inputbox', form.notnull, id='ib1', description=''), form.Button('Top')) else: search = form.Form( form.Dropdown('proj', config.PROJECTS, value=proj, description=''), form.Dropdown('year', years, value=date, description=''), form.Textbox('inputbox', form.notnull, value=page, id='ib1', description=''), form.Button('Top')) return search
class PageChangePw(PageEditProfile): _form = form.Form(form.Textbox('old'), form.Textbox('pwd1'), form.Textbox('pwd2')) def POST(self, name=None): sess = session.get_session() force_login(sess) form = self._form() if not form.validates(): raise web.seeother('/password?msg=bad input') logintoken = convert_to_logintoken(sess.user_id) if logintoken: data = { "old_password": form.d.old, "new_password": form.d.pwd1, "new_password2": form.d.pwd2, "logintoken": logintoken } data = api_request("api/profile/pwd", "POST", data) if data['status'] == 200: raise web.seeother('/password') else: msg = data['error_code'] raise web.seeother('/password?msg=%s' % msg)
class PageCreateUser: _form = form.Form(form.Textbox('email'), form.Textbox('name'), form.Textbox('username'), form.Password('password'), form.Button('create account')) def GET(self): login() form = self._form() return ltpl('reg', form) def POST(self): login() form = self._form() if not form.validates(): return 'bad input' if email_exists(form.d.email): return 'email already exists' if username_exists(form.d.username): return 'username already exists' user_id = create_user(form.d.email, form.d.password, name=form.d.name, username=form.d.username) if not user_id: return 'couldn\'t create user' raise web.seeother('/admin/user/%d' % user_id)
def registration_form(self): return form.Form( form.Dropdown('college', [u'==请选择您所在学院=='] + CUMTSchoolList, form.Validator("select college.", lambda i: i in CUMTSchoolList), form.notnull, description=u"* 学院", class_="form-control"), form.Textbox('telephone', form.notnull, description=u"* 手机号码", class_="form-control"), mww.MyRadio('gender', [u'男', u'女'], form.notnull, description=u"* 性别"), form.Textbox('studentid', form.notnull, description=u'* 学号', class_="form-control"), form.Textbox('name', form.notnull, description=u'* 姓名', class_="form-control"), form.Button('submit', submit='submit', class_="btn btn-primary", html=u"保存修改"))
class userInfo: loginForm = form.Form( form.Textbox("username", description="Username"), form.Password("password", description="Password"), form.Textbox("sqlInject", description="SQLInjection or not(1. yes, 0. no)"), form.Button("submit", type="submit", description="Submit") ) def GET(self): f = self.loginForm() return render.index(f) def POST(self): f = self.loginForm() f.validates() userInfo = {} if int(f["sqlInject"].value) == 1: userInfo = model.getUserInfo(f["username"].value, f["password"].value) elif int(f["sqlInject"].value) == 0: userInfo = model.getUserInfoSec(f["username"].value, f["password"].value) if not userInfo: return render.error() else: return render.info(userInfo)
def __init__(self, configContext): super(EmailSender, self).__init__(configContext) self.database = db.Database(configContext) self.config = configContext self.email_form = form.Form(form.Textbox('campaign_id', form.notnull), form.Textbox('status', form.notnull))
def comment(self): userInput = self.getInput() cmsObj = model.cms() cmsId = userInput['cmsId'] condition = {'status': 1, 'id': cmsId} atl = cmsObj.getOne('*', condition) if atl == None: return self.error('文章不存在') from web import form validList = ( form.Textbox("name", form.regexp(r".{3,100}$", '姓名需为3~100个字符')), form.Textbox("content", form.regexp(r".{1,100}$", '评论内容需为3~100个字符')), form.Textbox("email", form.regexp(r".*@.*", '邮箱格式错误')), form.Textbox("email", form.regexp(r".{5,100}$", '邮箱需为5~100个字符')), ) if not self.validates(validList): return self.error(self.errorMessage) date = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) HTTP_X_REAL_IP = web.ctx.env.get('HTTP_X_REAL_IP') ip = HTTP_X_REAL_IP if HTTP_X_REAL_IP else web.ctx.ip data = { 'cmsId': cmsId, 'content': userInput['content'], 'name': userInput['name'], 'email': userInput['email'], 'createTime': date, 'ip': ip, 'status': 1 } model.comment().insert(data) data = {'commentCount': atl['commentCount'] + 1} model.cms().update(data, condition) return self.success('评论成功', self.referer)
class PageRegister: _form = form.Form(form.Textbox('email'), form.Textbox('name'), form.Textbox('username'), form.Password('password'), form.Button('register')) def GET(self): force_login(sess, '/dashboard', True) form = self._form() return ltpl('reg', form) def POST(self): form = self._form() if not form.validates(): return 'bad input' if not all(form.d.email, form.d.password, form.d.name, form.d.username): return 'you have to enter an email, a password, and a username' if email_exists(form.d.email): return 'email already exists' if username_exists(form.d.username): return 'username already exists' user_id = create_user(form.d.email, form.d.password, name=form.d.name, username=form.d.username) if not user_id: return 'couldn\'t create user' login_user(sess, user_id) raise web.seeother('/dashboard')
def AdminUpdateForm(administrator): """ 管理员账号更新表单 administrator_old_email 原邮箱 administrator_old_password 原密码 administrator_email 新邮箱 administrator_password 新密码 administrator_password_confirm 确认密码 administrator_submit 提交 """ updateForm = form.Form( form.Textbox("administrator_old_email", readonly="true", description=u"原邮箱:", value=administrator.email), form.Password("administrator_old_password", Validation['password'], description=u"原密码:"), form.Textbox("administrator_email", Validation['email'], description=u"新邮箱:"), form.Password("administrator_password", Validation['password'], description=u"新密码:"), form.Password("administrator_password_confirm", Validation['password'], description=u"确认密码:"), form.Button("administrator_submit", type="submit", html=u'提交'), validators=[ form.Validator( "确认密码不正确", lambda i: i.administrator_password == i. administrator_password_confirm) ], ) return updateForm
class Register: register = form.Form( form.Textbox('firstname',form.notnull), form.Textbox('lastname',form.notnull), form.Textbox('phone',form.notnull), form.Textbox('email',form.notnull), form.Textbox('username',form.notnull), form.Password('password',form.notnull), form.Button('Register'), ) def GET(self): register = self.register() return render.register(register) def POST(self): register = self.register() if not register.validates(): raise web.seeother('/') fn=register.d.firstname ln=register.d.lastname ph=register.d.phone eml=register.d.email un=register.d.username pwd=register.d.password s=model.new_user(fn,ln,ph,eml,un,pwd,str(date.today())) if s['status']== "Registered": session.loggedin = True session.user = s['username'] #return s raise web.seeother('/updateprofile')
def GET(self): if web.ctx.session.login != 1: raise web.seeother('/#login') addbook = form.Form( form.Textbox('book_num', description = "Book Number", class_ = 'form-control'), form.Textbox('type', description = 'Book type', class_ = 'form-control'), form.Textbox('title', description = 'Book name', class_ = 'form-control'), form.Textbox('press', description = 'Press', class_ = 'form-control'), form.Textbox('year', description = 'Year', class_ = 'form-control'), form.Textbox('author', description = 'Author', class_ = 'form-control'), form.Textbox('price', description = 'Price', class_ = 'form-control'), form.Textbox('amount', description = 'Amount', class_ = 'form-control'), form.Hidden('optype', value = 'addbook'), # form.Button("Submit", class_ = "btn btn-primary"), ) appendbook = form.Form( form.Textbox('book_num', description = 'Book Number', class_ = 'form-control'), form.Textbox('quantity', description = 'Quantity', class_ = 'form-control'), form.Hidden('optype', value = 'appendbook'), ) addbooklist = form.Form( form.File(name = "Upload"), # form.Button("Submit", class_ = "btn btn-primary"), ) return render.addbook(addbook, appendbook, addbooklist,web.ctx.session)
def BlogerUpdateForm(bloger): """ 博主信息更新的表单 """ newForm = form.Form( form.Textbox("bloger_nickname", Validation['notnull'], description=u"昵称:", value=bloger.nickname), form.Textbox("bloger_email", Validation['email'], description=u"邮箱:", value=bloger.email), form.Dropdown("bloger_sex", args=[('1', '男'), ('0', '女')], value=bloger.sex, description=u"性别:"), form.Textbox("bloger_avatar", Validation['url'], description=u"头像:", value=bloger.avatar), form.Textarea("bloger_description", Validation['notnull'], description=u"描述:", value=bloger.description), form.Button("bloger_submit", type="submit", html=u'提交'), ) return newForm
class Signup: vpass = form.regexp(r".{3,20}$", 'must be between 3 and 20 characters') vemail = form.regexp(r".*@.*", "must be a valid email address") signup_form = form.Form( form.Textbox("email", vemail, description="E-Mail"), form.Textbox("username", description="Username"), form.Password("password", vpass, description="Password"), form.Password("password2", description="Repeat password"), form.Textbox("sex", description="Sex"), form.Button("submit", type="submit", description="Register"), validators = [ form.Validator("Passwords did't match", lambda i: i.password == i.password2)] ) def GET(self): # do $:f.render() in the template f =self.signup_form() return render.signup(f) def POST(self): f =self.signup_form() if not f.validates(): return render.signup(f) else: model.sign_up(f.d.username,f.d.email,f.d.password,f.d.sex) raise web.seeother('/login')
def defineFormInputs(self, myform): myform.add_input( form.Dropdown("top", Dialog.option_dict['app_options'])) myform.add_input( form.Dropdown("series", Dialog.option_dict['series_options'])) myform.add_input( form.Dropdown("label", Dialog.option_dict['label_options'])) myform.add_input( form.Dropdown("command", Dialog.option_dict['cmd_options'])) myform.add_input(form.Textbox("commandArgument")) myform.add_input(form.Textbox("files")) #myform.add_input(form.Textbox("contents")) #myform.add_input(form.Dropdown("container", ['dialog', 'page', 'all'])) #myform.add_input(form.Checkbox('title', value="Y", checked=True)) myform.add_input( form.Checkbox('commandButton', value="Y", checked=True, disabled=True)) myform.add_input( form.Checkbox('otherComponent', value="Y", checked=False)) myform.add_input(form.Textbox("otherComponentName")) myform.add_input( form.Dropdown("processSize", [5, 10, 50, 100, 'All'], value='All'))
def user_search_form(self): return form.Form( form.Textbox('uid', class_="form-control"), form.Textbox('name', class_="form-control"), form.Textbox('email', class_="form-control"), form.Dropdown('country', ['All', 'China', 'Other'], class_="form-control"), form.Button('query', type='sbumit', class_="btn btn-primary"))
def reloadMyForm(self): apmode = True gridenable = True apmode_no_passwd = True create_logfile = True logappend = True if cm.getValueInsert(id_create_logfile, "True").lower() != "true": create_logfile = False if cm.getValueInsert(id_logappend, "True").lower() != "true": logappend = False myform = form.Form( form.Textbox(id_grid_port, description=desc_grid_port, value=cm.getValueInsert("cangrid_port", 4444), id="cangripport"), form.Textbox(id_canid, description=desc_canid, value=cm.getValueInsert("canid", 100)), form.Textbox(id_start_event_id, description=desc_start_event, value=cm.getValueInsert(id_start_event_id, 1)), form.Dropdown(id_loglevel, ['INFO', 'WARN', 'DEBUG'], value=cm.getValueInsert("loglevel", "INFO")), form.Checkbox(id_create_logfile, description=desc_create_logfile, checked=create_logfile, value=id_create_logfile, id="tcreate_logfile"), form.Checkbox(id_logappend, description=desc_logappend, checked=logappend, value=id_logappend, id="tlogappend"), form.Button(desc_btn_save, id=id_btn_save, value="save", html="Save changes"), form.Button(desc_btn_stop, id=id_btn_stop, value="stop", html="Stop throttle service"), form.Button(desc_btn_restart_all, id=id_btn_restart_all, value="stop", html="Restart throttle and configuration page"), form.Button(desc_btn_restart, id=id_btn_restart, value="restart", html="Restart throttle service"), form.Button(desc_btn_update_file, id=id_btn_update_file, value="upgrade", html="Upload upgrade file")) return myform()
def NavigationNewForm(): """导航新建表单""" newForm = form.Form( form.Textbox("navigation_name", description=u"名称:"), form.Textbox("navigation_link", description=u"链接:"), form.Textbox("navigation_weight", description=u"优先级"), form.Button("navigation_submit", type="submit", html=u'提交'), ) return newForm
def add_cours_form(self): """Form pour ajouter un étudiant""" vnom = form.regexp(r"[a-zA-Z]+", " Des lettres uniquement") vannee = form.regexp(r"[1-9][0-9]{3}", " Quatres chiffres uniquement") add_cours_form = form.Form( form.Textbox("nom", vnom, description="Nom du cours"), form.Textbox("annee", vannee, description="Annee du cours"), form.Button("valider", type="submit", description="Valider")) return add_cours_form
def alter_article_form(self): return form.Form( form.Textbox('name',form.notnull,description='Name:',class_="form-control"), form.Textbox('title',form.notnull,description='Title:',class_="form-control"), form.Textbox('parent',form.notnull,description='parent:',class_="form-control"), form.Textbox('has_child_p',form.notnull,description='has_child_p:',class_="form-control"), form.Textarea('content',description="Content:",class_="form-control",rows="10"), form.Button('submit',type='submit',class_="btn btn-primary"), form.Hidden('aid') )
def GET(self): if web.ctx.session.login != 1: raise web.seeother('/#login') user = form.Form( form.Textbox('username', description = 'Username', class_ = 'form-control'), form.Password('password', description = 'Password', class_ = 'form-control'), form.Textbox('real_name', description = 'Name', class_ = 'form-control'), form.Textbox('contact_info', description = 'Contact info', class_ = 'form-control'), # form.Button('Create', class_ = "btn btn-primary"), ) return render.addadmin(user,web.ctx.session)
def defineFormInputs(self, myform): myform.add_input( form.Dropdown("top", Explore.option_dict['app_options'])) myform.add_input( form.Dropdown("series", Explore.option_dict['series_options'])) myform.add_input( form.Dropdown("label", Explore.option_dict['label_options'])) myform.add_input( form.Dropdown("command", Explore.option_dict['cmd_options'])) myform.add_input(form.Textbox("commandArgument")) myform.add_input(form.Textbox("files")) myform.add_input(form.Textbox("contents"))
class Index: inputform = form.Form(form.Textbox('startPOI'), form.Textbox('length'), form.Button('recommendBtn')) def GET(self): inputform = self.inputform() return render.demo(inputform) def POST(self): i = web.input() startPOI = int(i.startPOI) length = int(i.length) inputform = self.inputform() fmodel = 'model-Melb.pkl' # path of the trained model file model = pkl.load(open(fmodel, 'rb'))['MODEL'] recommendations = model.predict( startPOI, length) # recommendations is list of 10 trajectories #result = "\n" #for i in range(len(recommendations)): #result += "Top "+str(i+1)+" recommendation: "+str(list(recommendations[0]))+"\n" data = pd.read_csv("./static/dataset/poi-Melb-all.csv") list1 = (recommendations[0]) list2 = (recommendations[1]) list3 = (recommendations[2]) poiNm1 = [] poiTheme1 = [] for i in range(len(list1)): poiNm1.append(data.poiName[list1[i]]) poiTheme1.append(data.poiTheme[list1[i]]) poiNm2 = [] poiTheme2 = [] for i in range(len(list2)): poiNm2.append(data.poiName[list2[i]]) poiTheme2.append(data.poiTheme[list2[i]]) poiNm3 = [] poiTheme3 = [] for i in range(len(list3)): poiNm3.append(data.poiName[list3[i]]) poiTheme3.append(data.poiTheme[list3[i]]) list1_df = data[data['poiID'].isin(list1)] list2_df = data[data['poiID'].isin(list2)] list3_df = data[data['poiID'].isin(list3)] generate_kml('./static/kml/poi1.kml', list1_df) generate_kml('./static/kml/poi2.kml', list2_df) generate_kml('./static/kml/poi3.kml', list3_df) return render.demo2(startPOI, length, inputform, list(recommendations[0]), list(recommendations[1]), list(recommendations[1]), poiNm1, poiNm2, poiNm3, poiTheme1, poiTheme2, poiTheme3)
def CommentNewForm(articleID): """评论新建表单""" newForm = form.Form( form.Hidden("comment_article_id", description="article ID:", value=articleID), form.Textbox("comment_nickname", description="昵称:"), form.Textbox("comment_email", description="邮箱:"), form.Textbox("comment_website", description="邮箱:"), form.Textarea("comment_content", description="内容:"), form.Button("comment_submit", type="submit", html=u'提交'), ) return newForm
def add_etudiant_form(self): """Form pour ajouter un étudiant""" vnom = form.regexp(r"[a-zA-Z]+", " Des lettres uniquement") vprenom = form.regexp(r"[a-zA-Z]+", " Des lettres uniquement") vage = form.regexp(r"[1-9][0-9]+", " Des chiffres uniquement") add_etudiant_form = form.Form( form.Textbox("nom", vnom, description="Nom de l'étudiant"), form.Textbox("prenom", vprenom, description="Prénom de l'étudiant"), form.Textbox("age", vage, description="Age de l'étudiant"), form.Button("valider", type="submit", description="Valider") ) return add_etudiant_form
def make_form(self, user=None): if user is None: return form.Form( form.Textbox('name'), form.Textbox('username'), form.Textarea('about'), form.File('profile', description='profile picture'), form.Button('save')) return form.Form(form.Textbox('name', value=user.name), form.Textbox('username', value=user.username), form.Textarea('about', value=user.about), form.File('profile', description='profile picture'), form.Button('save'))()
def make_form(self, pin=None, boards=None): boards = boards or [] boards = [(x.id, x.name) for x in boards] if pin is None: return form.Form(form.Textbox('name'), form.Textarea('description'), form.Dropdown('board', boards), form.Button('repin'))() return form.Form(form.Textbox('name', value=pin.name), form.Textarea('description', value=pin.description), form.Dropdown('board', boards), form.Button('repin'))()
def defineFormInputs(self, myform): myform.add_input(form.Dropdown("top", Icon.option_dict['app_options'])) myform.add_input( form.Dropdown("series", Icon.option_dict['series_options'])) myform.add_input( form.Dropdown("label", Icon.option_dict['label_options'])) myform.add_input( form.Dropdown("command", Icon.option_dict['cmd_options'])) myform.add_input(form.Textbox("commandArgument")) myform.add_input(form.Textbox("files")) myform.add_input(form.Textbox("contents")) myform.add_input( form.Dropdown("processSize", [5, 10, 50, 100, 'All'], value='All'))
def GET(self): query = form.Form( form.Textbox('type', description='Book type', class_='form-control'), form.Textbox('title', description='Book name', class_='form-control'), form.Textbox('press', description='Press', class_='form-control'), form.Textbox('yearfrom', description='Year from', class_='form-control'), form.Textbox('yearto', description='Year to', class_='form-control'), form.Textbox('author', description='Author', class_='form-control'), form.Textbox('pricefrom', description='Price from', class_='form-control'), form.Textbox('priceto', description='Price to', class_='form-control'), # form.Button('Submit', class_ = "btn btn-primary"), ) return render.querybooks(query, session)
def defineFormInputs(self, myform): myform.add_input( form.Dropdown("tag_selection", ['All'] + sorted(self.prevForm_dict['tags'].split(',')))) myform.add_input( form.Dropdown("attribute_selection", ['All'] + sorted(self.prevForm_dict['attrs'].split(',')))) myform.add_input(form.Textbox("tag_name")) myform.add_input(form.Textbox("attribute_name")) myform.add_input(form.Textbox("attribute_value")) myform.add_input( form.Dropdown("processSize", [5, 10, 50, 100, 'All'], value='All'))