Exemplo n.º 1
0
    def GET(self):
        ipt = web.input(_unicode=True)
        if 'uid' not in ipt:
            return "Argument Error"
        if users.uid_exist_p(ipt.uid):
            user = users.get_user_by_uid(ipt.uid)
        else:
            return "User Not Exist!"

        _s = session.get_session()
        _p = _s.privilege
        # if attendant, only allowed to check himself.
        if _p == 1:
            if _s.uid != user.uid:
                return "Action Not Allowed!"

        # check done. do the real work
        schema_user = [['uid', u"用户编号", 'col-sm-1'],
                       ['email', u"邮箱", 'col-sm-1'],
                       ['telephone', u'手机号码', 'col-sm-1'],
                       ['gender', u'性别', 'col-sm-1'],
                       ['studentid', u'学号', 'col-sm-1'],
                       ['college', u'学院', 'col-sm-1'],
                       ['name', u'姓名', 'col-sm-1']]

        t_user = mww.MyVerticalTable(schema_user,
                                     user,
                                     class_='table table-striped table-hover')
        s = mww.ListGroup(session.get_session().actions).render()
        l = mww.Panel('Settings', s)
        r = mww.Panel('Detailed Information', t_user.render())
        return render.l3r9(left=l.render(), right=r.render())
Exemplo n.º 2
0
 def GET(self):
     f = mww.MyForm(self.register_detail_form(), '/cumt/Profile')
     f.form.fill(
         utils.extract_info_from_storage_by_list(session.get_session(),
                                                 PROPERTY_LIST))
     s = mww.ListGroup(session.get_session().actions).render()
     l = mww.Panel('Settings', s)
     r = mww.Panel('Profile', f.render_css())
     return render.l3r9(left=l.render(), right=r.render())
Exemplo n.º 3
0
 def GET(self):
     if session.get_session().privilege != 1:
         raise web.seeother('/cumt/ApplicationRoute')
     result = check_time()
     if result:
         return result
     f = mww.MyForm(self.registration_form(), '/cumt/Application')
     user = users.get_user_by_uid(session.get_session().uid)
     f.form.fill(user)
     p = mww.Panel(u'提交申请', f.render_css())
     return render.l12(page=p.render())
Exemplo n.º 4
0
 def GET(self):
     if session.get_session().privilege != 1:
         raise web.seeother('/cumt/ApplicationRoute')
     result = check_time()
     if result:
         return result
     f = mww.MyForm(self.registration_form(),'/cumt/Application')
     user = users.get_user_by_uid(session.get_session().uid)
     f.form.fill(user)
     p = mww.Panel(u'提交申请',f.render_css())
     return render.l12( page = p.render())
Exemplo n.º 5
0
 def POST(self):
     ipt = web.input(_unicode=True)
     f = self.reset_password_form()
     if not f.validates(ipt):
         s = mww.ListGroup(session.get_session().actions).render()
         l = mww.Panel('Settings', s)
         r = mww.Panel('Reset Password', f.render_css())
         return render.l3r9(left=l.render(), right=r.render())
     else:
         users.reset_password(session.get_session().uid, ipt.new_password)
         return render.single_panel(title="reset password", body="success!")
Exemplo n.º 6
0
 def POST(self):
     ipt = web.input(_unicode=True)
     f = mww.MyForm(self.register_detail_form(), '/cumt/Profile')
     if not f.form.validates(ipt):
         s = mww.ListGroup(session.get_session().actions).render()
         l = mww.Panel('Settings', s)
         r = mww.Panel('Profile', f.render_css())
         return render.l3r9(left=l.render(), right=r.render())
     else:
         users.update(
             session.get_session().uid,
             **utils.extract_info_from_storage_by_list(ipt, PROPERTY_LIST))
         session.login(session.get_session().email)
         return render.single_panel(title="Profile Change", body="success!")
Exemplo n.º 7
0
 def POST(self):
     if session.get_session().privilege != 1:
         raise web.seeother('/cumt/ApplicationRoute')
     result = check_time()
     if result:
         return result
     ipt = web.input(_unicode=True)
     f = mww.MyForm(self.registration_form(),'/cumt/Application')
     if not f.form.validates(ipt):
         p = mww.Panel('Application',f.render_css())
         return render.l12( page = p.render())
     regid = users.add_reg(session.get_session().uid,f.form.d)
     p = mww.Panel(u'提交申请',u'申请已提交,点击<a href="/cumt/Application">这里</a>进行修改')
     return render.l12( page = p.render())
Exemplo n.º 8
0
 def POST(self):
     if session.get_session().privilege != 1:
         raise web.seeother('/cumt/ApplicationRoute')
     result = check_time()
     if result:
         return result
     ipt = web.input(_unicode=True)
     f = mww.MyForm(self.registration_form(), '/cumt/Application')
     if not f.form.validates(ipt):
         p = mww.Panel('Application', f.render_css())
         return render.l12(page=p.render())
     regid = users.add_reg(session.get_session().uid, f.form.d)
     p = mww.Panel(u'提交申请',
                   u'申请已提交,点击<a href="/cumt/Application">这里</a>进行修改')
     return render.l12(page=p.render())
Exemplo n.º 9
0
 def GET(self, id):
     i = web.input(context='all', start=0, order=default_order, desc='desc', query='')
     start = int(i.start)
     user_id = session.is_logged() and session.get_user_id()
     
     results, num_results = applicants.query(query=i.query, context=i.context, 
         offset=start and start - 1, limit=results_per_page+2, order=i.order + ' ' + i.desc, 
         user_id=user_id)
     
     pager = web.storage(paging.get_paging_results(start, num_results, 
         int(id), results, results_per_page))
     
     counts = applicants.get_counts()
     
     user = session.get_session()
     
     applicant = applicants.get_by_id(id)
     
     _comments = comments.get_comments(applicant.id)
     
     _votes = votes.get_votes(applicant.id)
     
     stats = applicants.get_stats()
     
     return view.layout(
         view.applicant(applicant, _comments, _votes, user, pager, i), 
         user, i.context, counts, i.query, stats)
Exemplo n.º 10
0
 def GET(self):
     ## EDITED BY: rgap
     user = session.get_session()
     if user.email == config.mail_sender or user.email == config.webmaster or user.email == "*****@*****.**":
         return render_account(show='register_only')
     else:
         raise web.seeother('/')
Exemplo n.º 11
0
def render_settings(nickname_form=nickname_form(), email_form=email_form(), password_form=password_form(), on_success_message=''):
    counts = applicants.get_counts()
    user = session.get_session()
    
    return view.layout(
        view.settings(user, nickname_form, email_form, password_form, on_success_message), 
        user, 'settings', counts)
Exemplo n.º 12
0
 def GET(self):
     if session.get_session().privilege != 0:
         # already login
         raise web.seeother('/cumt/Profile')
     form = mww.MyForm(self.login_form(), '/cumt/Login')
     r = mww.Panel('Login', form.render_css()).render()
     return render.l12(page=r)
Exemplo n.º 13
0
 def GET(self):
     f = mww.MyForm(self.reset_user_password_form(),
                    '/cumt/ResetUserPassword')
     s = mww.ListGroup(session.get_session().actions).render()
     l = mww.Panel('Settings', s)
     r = mww.Panel('Reset User Password', f.render_css())
     return render.l3r9(left=l.render(), right=r.render())
Exemplo n.º 14
0
    def GET(self, context):
        i = web.input(start=0, order=default_order, desc='desc', query='')
        start = int(i.start)
        context = context or 'all'
        user_id = session.is_logged() and session.get_user_id()

        results, num_results = applicants.query(query=i.query,
                                                context=context,
                                                offset=start,
                                                limit=results_per_page,
                                                order=i.order + ' ' + i.desc,
                                                user_id=user_id)

        pager = web.storage(
            paging.get_paging(start,
                              num_results,
                              results_per_page=results_per_page,
                              window_size=1))

        counts = applicants.get_counts()

        user = session.get_session()

        stats = applicants.get_stats()

        return view.layout(view.applicants(results, context, pager, i), user,
                           context, counts, i.query, stats)
Exemplo n.º 15
0
    def GET(self, id):
        i = web.input(context='all',
                      start=0,
                      order=default_order,
                      desc='desc',
                      query='')
        start = int(i.start)
        user_id = session.is_logged() and session.get_user_id()

        results, num_results = applicants.query(query=i.query,
                                                context=i.context,
                                                offset=start and start - 1,
                                                limit=results_per_page + 2,
                                                order=i.order + ' ' + i.desc,
                                                user_id=user_id)

        pager = web.storage(
            paging.get_paging_results(start, num_results, int(id), results,
                                      results_per_page))

        counts = applicants.get_counts()

        user = session.get_session()

        applicant = applicants.get_by_id(id)

        _comments = comments.get_comments(applicant.id)

        _votes = votes.get_votes(applicant.id)

        stats = applicants.get_stats()

        return view.layout(
            view.applicant(applicant, _comments, _votes, user, pager, i), user,
            i.context, counts, i.query, stats)
Exemplo n.º 16
0
def get_flash(tp='all'):
    s = session.get_session()
    alerts = []
    if not s.get('flash') is None:
        keys = s.get('flash').keys()
        alerts = ['<div class="alert alert-%s">%s</div>' % (t, session.get_flash(t)) for t in keys if tp == 'all' or t == tp]

    return ''.join(alerts)
Exemplo n.º 17
0
def render_settings(nickname_form=nickname_form(),
                    email_form=email_form(),
                    password_form=password_form(),
                    on_success_message=''):
    counts = applicants.get_counts()
    user = session.get_session()

    return view.base(
        view.settings(user, nickname_form, email_form, password_form,
                      on_success_message))
Exemplo n.º 18
0
 def POST(self):
     ipt = web.input(_unicode=True)
     f = self.reset_user_password_form()
     if not f.validates(ipt):
         s = mww.ListGroup(session.get_session().actions).render()
         l = mww.Panel('Settings',s)
         r = mww.Panel('Reset User Password',f.render_css())
         return render.l3r9(left=l.render(),right=r.render())
     else:
         users.reset_password(ipt.uid,ipt.new_password)
         return "success"
Exemplo n.º 19
0
    def POST(self):
        ipt  = web.input(_unicode=True)
        if 'article' in ipt and articles.name_exist_p(ipt.article):
            article_info = articles.get_article_by_name(ipt.article)
            s = mww.ListGroup(session.get_session().actions).render()
            l = mww.Panel('Settings',s)
            aaf = mww.MyForm(self.alter_article_form()(article_info),'/cumt/AlterArticle')
            asf = mww.MyForm(self.article_select_form(),'/cumt/AlterArticle')
            asf.form.fill(ipt)
            r1 = mww.Panel('Article Select',asf.render_css())
            r2 = mww.Panel('Alter Article',aaf.render_css())
            return render.l3r9(left=l.render(),right=r1.render()+r2.render())

        elif 'name' in ipt and 'parent' in ipt and 'has_child_p' in ipt and articles.parent_sans_p(ipt.parent):
            # TODO result check
            articles.update(ipt.aid,content = ipt.content,title=ipt.title,parent=ipt.parent,has_child_p=ipt.has_child_p)
            web.config._title_list = articles.gen_title_list()
            return "success"
        else:
            myf = mww.MyForm(self.article_select_form(),'/cumt/AlterArticle')
            s = mww.ListGroup(session.get_session().actions).render()
            l = mww.Panel('Settings',s)
            r = mww.Panel('Article Select',myf.render_css())
            return render.l3r9(left=l.render(),right=r.render())
Exemplo n.º 20
0
 def POST(self):
     ipt = web.input(_unicode=True)
     f = self.add_article_form()
     myf = mww.MyForm(f,'/cumt/AddArticle')
     if not f.validates(ipt):
         s = mww.ListGroup(session.get_session().actions).render()
         l = mww.Panel('Settings',s)
         r = mww.Panel('Add New Article',myf.render_css())
         return render.l3r9(left=l.render(),right=r.render())
     else:
         if f.d.parent == "NEW_TOPIC":
             articles.add_article(f.d.name, f.d.title, f.d.content, "NOPARENT" )
         else:
             articles.add_article(f.d.name, f.d.title, f.d.content, f.d.parent )
         web.config._title_list = articles.gen_title_list()
         return "success"
Exemplo n.º 21
0
 def POST(self):
     ipt = web.input(_unicode=True)
     f = self.del_article_form()
     myf = mww.MyForm(f,'/cumt/DelArticle')
     if not f.validates(ipt):
         s = mww.ListGroup(session.get_session().actions).render()
         l = mww.Panel('Settings',s)
         r = mww.Panel('Del A Article',myf.render_css())
         return render.l3r9(left=l.render(),right=r.render())
     else:
         a = articles.get_article_by_name(ipt.name)
         leaves = articles.get_articles_by_parent(a.parent)
         assert len(leaves) > 1
         #parent = articles.get_article_by_name(a.parent)
         articles.del_article_by_name(ipt.name)
         web.config._title_list = articles.gen_title_list()
         return 'success'
Exemplo n.º 22
0
 def POST(self):
     ipt = web.input(_unicode=True)
     #print ipt
     f = self.user_search_form()
     myf = mww.MyForm(f,'/cumt/UserManage')
     if not f.validates(ipt):
         return "Argument Error"
     if len(ipt.uid)>0:
         if users.uid_exist_p(ipt.uid):
             us = [users.get_user_by_uid(ipt.uid)]
         else:
             us = []
     elif len(ipt.name)>0:
         us = users.get_users_by_name(ipt.name)
     elif len(ipt.email)>0:
         if users.email_exist_p(ipt.email):
             us = [users.get_user_by_email(ipt.email)]
         else:
             us = []
     elif ipt.country == 'All':
         us = users.get_all_users()
     elif ipt.country == 'China':
         us = users.get_users_by_country('China')
     elif ipt.country == 'Other':
         us = users.get_users_by_country_not('China')
     else:
         us = []
     schema = [['uid',"Index"],
               ['name',"Name"],
               ['country',"Country"],
               ['email',"Email"],
               ['operations',"Operations"]]
     t = mww.Table(schema,
                   map(user_record_trans_to_display,us),
                   class_='table table-striped table-hover')
     s = mww.ListGroup(session.get_session().actions).render()
     l = mww.Panel('Settings',s)
     r = mww.Panel('User Management',myf.render_css()+t.render())
     return render.l3r9(left=l.render(),right=r.render())
Exemplo n.º 23
0
 def GET(self, context):
     i = web.input(start=0, order=default_order, desc='desc', query='')
     start = int(i.start)
     context = context or 'all'
     user_id = session.is_logged() and session.get_user_id()
     
     results, num_results = applicants.query(query=i.query, context=context, 
         offset=start, limit=results_per_page, order=i.order + ' ' + i.desc, 
         user_id=user_id)
     
     pager = web.storage(paging.get_paging(start, num_results, 
         results_per_page=results_per_page, window_size=1))
     
     counts = applicants.get_counts()
     
     user = session.get_session()
     
     stats = applicants.get_stats()
     
     return view.layout(
         view.applicants(results, context, pager, i), 
         user, context, counts, i.query, stats)
Exemplo n.º 24
0
 def POST(self):
     ipt = web.input(_unicode=True)
     #print ipt
     f = self.user_search_form()
     myf = mww.MyForm(f, '/cumt/UserManage')
     if not f.validates(ipt):
         return "Argument Error"
     if len(ipt.uid) > 0:
         if users.uid_exist_p(ipt.uid):
             us = [users.get_user_by_uid(ipt.uid)]
         else:
             us = []
     elif len(ipt.name) > 0:
         us = users.get_users_by_name(ipt.name)
     elif len(ipt.email) > 0:
         if users.email_exist_p(ipt.email):
             us = [users.get_user_by_email(ipt.email)]
         else:
             us = []
     elif ipt.country == 'All':
         us = users.get_all_users()
     elif ipt.country == 'China':
         us = users.get_users_by_country('China')
     elif ipt.country == 'Other':
         us = users.get_users_by_country_not('China')
     else:
         us = []
     schema = [['uid', "Index"], ['name', "Name"], ['country', "Country"],
               ['email', "Email"], ['operations', "Operations"]]
     t = mww.Table(schema,
                   map(user_record_trans_to_display, us),
                   class_='table table-striped table-hover')
     s = mww.ListGroup(session.get_session().actions).render()
     l = mww.Panel('Settings', s)
     r = mww.Panel('User Management', myf.render_css() + t.render())
     return render.l3r9(left=l.render(), right=r.render())
Exemplo n.º 25
0
import os
import glob
import datetime
import random
import hashlib
import Image
import cgi
import web
import re
from web.net import htmlquote
from config import view, site_name
from app.helpers import session, utils, misc, email_templates
from app.models import postModel, nodeModel, users, notification

siteName = site_name
user = session.get_session()

# def displayTime(func):
#     import time
#     def calTime(*args):
#         # 记录开始时间
#         start = time.time()
#         # 回调原函数
#         result = func(*args)
#         passtime = time.time() - start
#         # 在结果输出追加计时信息
#         result = str(result) + "%s\n" %(passtime*1000)
#         # 返回结果
#         return result
#     # 返回重新装饰过的函数句柄
#     return calTime
Exemplo n.º 26
0
 def GET(self):
     myf = mww.MyForm(self.user_search_form(),'/cumt/UserManage')
     s = mww.ListGroup(session.get_session().actions).render()
     l = mww.Panel('Settings',s)
     r = mww.Panel('User Management',myf.render_css())
     return render.l3r9(left=l.render(),right=r.render())
Exemplo n.º 27
0
 def GET(self):
     if session.get_session().privilege != 1:
         raise web.seeother('/cumt/ApplicationRoute')
     # if users.is_registered(session.get_session().uid):
     #     return render.application()
     return render.send_application()
Exemplo n.º 28
0
 def GET(self):
     if session.get_session().privilege == 1:
         raise web.seeother('/cumt/SendApplication')
     return render.application_route()
Exemplo n.º 29
0
 def GET(self):
     f = mww.MyForm(self.reset_user_password_form(),'/cumt/ResetUserPassword')
     s = mww.ListGroup(session.get_session().actions).render()
     l = mww.Panel('Settings',s)
     r = mww.Panel('Reset User Password',f.render_css())
     return render.l3r9(left=l.render(),right=r.render())
Exemplo n.º 30
0
 def GET(self):
     myf = mww.MyForm(self.del_article_form(),'/cumt/DelArticle')
     s = mww.ListGroup(session.get_session().actions).render()
     l = mww.Panel('Settings',s)
     r = mww.Panel('Del A Article',myf.render_css())
     return render.l3r9(left=l.render(),right=r.render())
Exemplo n.º 31
0
 def GET(self):
     if session.get_session().privilege != 1:
         raise web.seeother('/cumt/ApplicationRoute')
     # if users.is_registered(session.get_session().uid):
     #     return render.application()
     return render.send_application()
Exemplo n.º 32
0
#!/usr/bin/env python
# coding: utf-8

import web
import httplib2
import config
import datetime
import urllib
import collections
from config import view, site_name, db
from app.helpers import session
from app.models import users

siteName = site_name
u = session.get_session()


def httplib2_request(uri,
                     method="GET",
                     body='',
                     headers=None,
                     redirections=httplib2.DEFAULT_MAX_REDIRECTS,
                     connection_type=None,
                     disable_ssl_certificate_validation=True):

    DEFAULT_POST_CONTENT_TYPE = 'application/x-www-form-urlencoded'

    if not isinstance(headers, dict):
        headers = {}

    if method == "POST":
Exemplo n.º 33
0
 def GET(self):
     myf = mww.MyForm(self.user_search_form(), '/cumt/UserManage')
     s = mww.ListGroup(session.get_session().actions).render()
     l = mww.Panel('Settings', s)
     r = mww.Panel('User Management', myf.render_css())
     return render.l3r9(left=l.render(), right=r.render())
Exemplo n.º 34
0
#!/usr/bin/env python
# coding: utf-8

import web
import httplib2
import config
import datetime
import urllib
import collections
from config import view, site_name, db
from app.helpers import session
from app.models import users

siteName = site_name
u = session.get_session()

def httplib2_request(uri, method="GET", body='', headers=None, 
        redirections=httplib2.DEFAULT_MAX_REDIRECTS, 
        connection_type=None, disable_ssl_certificate_validation=True):

    DEFAULT_POST_CONTENT_TYPE = 'application/x-www-form-urlencoded'

    if not isinstance(headers, dict):
        headers = {}

    if method == "POST":
        headers['Content-Type'] = headers.get('Content-Type', 
            DEFAULT_POST_CONTENT_TYPE)

    return httplib2.Http(disable_ssl_certificate_validation=disable_ssl_certificate_validation).\
        request(uri, method=method, body=body,
Exemplo n.º 35
0
 def POST(self):
     i = web.input()
     s = session.get_session()
     classes.create_classes(is_active=i.is_active, name=i.name, creator=s.get('userid'))
     raise web.seeother('/classes/')
Exemplo n.º 36
0
import random
import re
import md5
import time
import datetime
import hashlib
import web
from web import form

from app.models import users
from app.helpers import session
from app.helpers import email_templates

from config import view, encryption_key, site_name, db

user = session.get_session()
siteName = site_name
vemail = form.regexp(r'.+@.+', '邮箱格式不对')
p = re.compile(r"(?:^|\s)[-a-z0-9_.+]+@(?:[-a-z0-9]+\.)+[a-z]{2,6}(?:\s|$)",
               re.IGNORECASE)

#表单
login_form = form.Form(
    form.Textbox('email', form.notnull, vemail, description='邮箱:'),
    form.Password('password', form.notnull, description='密码:'),
    validators=[
        form.Validator(
            '邮箱地址或密码不正确',
            lambda i: users.is_correct_password(i.email, i.password))
    ])
Exemplo n.º 37
0
 def GET(self):
     if session.get_session().privilege == 1:
         raise web.seeother('/cumt/SendApplication')
     return render.application_route()