Esempio n. 1
0
def close_view(request):
    session = DBSession()
    task_id = int(request.matchdict['id'])
    task = session.query(Task).filter_by(id=task_id).first()
    task.closed = 1
    session.add(task)
    request.session.flash('Task was successfully closed!')
    return HTTPFound(location=request.route_url('list'))
Esempio n. 2
0
def new_view(request):
    if request.method == 'POST':
        if request.POST.get('name'):
            task = Task(request.POST['name'], 0)
            session = DBSession()
            session.add(task)
            request.session.flash('New task was succesfully added!')
            return HTTPFound(location=request.route_url('list'))
        else:
            request.session.flash('Please enter a name for the task!')
    return {}
Esempio n. 3
0
def _initTestingDB():
    from sqlalchemy import create_engine
    from myproject.models import (DBSession, Page, Base)
    # jiawzhang: 'sqlite://' means specify the db persistence as memory.
    engine = create_engine('sqlite://', echo=True)
    Base.metadata.create_all(engine)
    DBSession.configure(bind=engine)
    # jiawzhang: you have to introduce "transaction.manager" here because this is the unit test context instead of the web context, see details in ./models.py
    with transaction.manager:
        model = Page('FrontPage', 'This is the front page')
        DBSession.add(model)
    return DBSession
Esempio n. 4
0
def _initTestingDB():
    from sqlalchemy import create_engine
    from myproject.models import (
        DBSession,
        Page,
        Base
        )
    # jiawzhang: 'sqlite://' means specify the db persistence as memory.
    engine = create_engine('sqlite://')
    Base.metadata.create_all(engine)
    DBSession.configure(bind=engine)
    with transaction.manager:
        model = Page('FrontPage', 'This is the front page')
        DBSession.add(model)
    return DBSession
Esempio n. 5
0
def _initTestingDB():
    from sqlalchemy import create_engine
    from myproject.models import (
        DBSession,
        Page,
        Base
        )
    # jiawzhang: 'sqlite://' means specify the db persistence as memory.
    engine = create_engine('sqlite://', echo=True)
    Base.metadata.create_all(engine)
    DBSession.configure(bind=engine)
    # jiawzhang: you have to introduce "transaction.manager" here because this is the unit test context instead of the web context, see details in ./models.py
    with transaction.manager:
        model = Page('FrontPage', 'This is the front page')
        DBSession.add(model)
    return DBSession
Esempio n. 6
0
    def __init__(self, request):
        session = request.session
        #default username is None
        if 'login' in session:
          #log.debug("We can GET DATA FROM SESSION")
          #self.username = kwargs.pop('username',None)
          self.username = session['auth.userid']
          self.mygroups = session['mygroups']
          request.locale_name = session['locale_name']
          self.enabled = session['enabled']
          if self.username[0] != '@':
            self.email = session['email']
            self.borndate = session['borndate']
            self.validated = session['validated']
        else:
          #log.debug(" We need to GET DATA FROM DB")
          user = Users.get_by_username(session['auth.userid'])
          self.username = user.username
          #this return a LIST of groups
          self.mygroups = [ 'g:%s' % g.groupname for g in user.mygroups ]
          session['mygroups'] = self.mygroups
          request.locale_name = user.locale
          session['locale_name'] = user.locale
          session['login'] = datetime.today()
          session['enabled'] = user.enabled
          if self.username[0] != '@': 
            self.borndate = user.borndate
            self.email = user.email
            self.enabled = user.enabled
            self.validated = user.validated
            session['email'] = user.email
            session['borndate'] = user.borndate
            session['validated'] = user.validated

          session.save()
          
          transaction.begin()
          dbsession = DBSession()
          user.last_ip = request.environ['HTTP_X_REAL_IP']
          user.last_login = datetime.today()
          dbsession.merge(user)
          transaction.commit()
Esempio n. 7
0
def main(global_config, **settings):
    """ This function returns a Pyramid WSGI application.
    """
    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)
    Base.metadata.bind = engine


    authn_policy = AuthTktAuthenticationPolicy('sosecret',callback=groupfinder , hashalg='sha512')
    authz_policy = ACLAuthorizationPolicy()

    config = Configurator(settings=settings, root_factory='.models.RootFactory')
    #config = Configurator(settings=settings)

    config.set_authentication_policy(authn_policy)
    config.set_authorization_policy(authz_policy)

    config.include('pyramid_jinja2')
    config.include('pyramid_sacrud',route_prefix='admin')
    settings = config.registry.settings
    settings['pyramid_sacrud.models'] = (('Project', []),)

    config.add_static_view('static', 'static', cache_max_age=3600)
    config.add_static_view('img', 'static/img', cache_max_age=3600)

    config.add_route('home', '/')
    config.add_route('login', '/login')
    config.add_route('logout', '/logout')
    config.add_route('index_submit', '/index_submit')
    config.add_route('trybd', '/test')
    config.add_route('game', '/game')
    config.add_route('account_info', '/account_info/{email}/{nick}')
    config.add_route('registration', '/registration')
    config.scan()

    return config.make_wsgi_app()
def validate_login(form, field):
    log = DBSession.query(User).filter(User.login == field.data).first()
    if log is None:
        raise ValidationError("Enter correct login")
def validate_pass1(form, field):
    log = DBSession.query(User).filter(User.login == form.login.data)\
        .filter(User.password == field.data).first()
    if log is None:
        raise ValidationError("Enter a correct password")
Esempio n. 10
0
 def tearDown(self):
     del self.testapp
     from myproject.models import DBSession
     DBSession.remove()
Esempio n. 11
0
def list_view(request):
    session = DBSession()
    tasks = session.query(Task).filter_by(closed=0).all()
    #rs = session.execute("select id, name from tasks where closed = 0")
    tasks = [dict(id=row.id, name=row.name) for row in tasks]
    return {'tasks':tasks}
 def validate_login(form, field):
     log = DBSession.query(User).filter(User.login == field.data).first()
     if log is not None:
         raise ValidationError("This login is not available")
Esempio n. 13
0
from pyramid.httpexceptions import HTTPNotFound
from sqlalchemy.pool import NullPool
from myproject.models import (
    DBSession,
    Base,
    register,
    all_users,
    User,
    del_all,
    del_user,
    all_guys,
    add_guy
    )

engine = create_engine('sqlite:///gen_tree.db')
DBSession.configure(bind=engine)
Base.metadata.bind = engine
Base.metadata.create_all(engine)


#register("123123","123123","ccccc")

register("sdf,","sdf","sdf")

#del_user("123")





Esempio n. 14
0
from pyramid.authentication import SessionAuthenticationPolicy
from pyramid.config import Configurator
from sqlalchemy import create_engine
from pyramid.httpexceptions import HTTPNotFound
from sqlalchemy.pool import NullPool
from myproject.models import (DBSession, Base, register, all_users, User,
                              del_all, del_user, all_guys, add_guy)

engine = create_engine('sqlite:///gen_tree.db')
DBSession.configure(bind=engine)
Base.metadata.bind = engine
Base.metadata.create_all(engine)

#register("123123","123123","ccccc")

register("sdf,", "sdf", "sdf")

#del_user("123")

all_guys()

all_users()

#del_all()
Esempio n. 15
0
 def tearDown(self):
     del self.testapp
     from myproject.models import DBSession
     DBSession.remove()