示例#1
0
 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)
示例#2
0
    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
示例#3
0
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)
示例#4
0
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)
示例#5
0
 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"保存修改"))
示例#6
0
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)
示例#7
0
    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))
示例#8
0
文件: index.py 项目: five3/weblog
 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)
示例#9
0
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')
示例#10
0
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
示例#11
0
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')
示例#12
0
 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)
示例#13
0
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
示例#14
0
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')
示例#15
0
    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'))
示例#16
0
 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"))
示例#17
0
    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()
示例#18
0
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
示例#19
0
    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
示例#20
0
 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')
     )
示例#21
0
 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)
示例#22
0
 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"))
示例#23
0
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)
示例#24
0
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
示例#25
0
    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
示例#26
0
    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'))()
示例#27
0
    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'))()
示例#28
0
 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'))
示例#29
0
文件: app.py 项目: magantis41/library
 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)
示例#30
0
    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'))