Mercurial > kallithea
diff pylons_app/controllers/users.py @ 49:3ada2f409c1c
Added sqlalchemy support
made models for database
changed views to handle sqlalchemy
author | Marcin Kuzminski <marcin@python-blog.com> |
---|---|
date | Thu, 08 Apr 2010 01:50:46 +0200 |
parents | 8e250e86a670 |
children | 73f413946c14 |
line wrap: on
line diff
--- a/pylons_app/controllers/users.py Wed Apr 07 21:10:43 2010 +0200 +++ b/pylons_app/controllers/users.py Thu Apr 08 01:50:46 2010 +0200 @@ -4,7 +4,9 @@ from pylons.controllers.util import abort, redirect from pylons_app.lib.base import BaseController, render -from pylons_app.lib import auth +from formencode import htmlfill +from pylons_app.model import meta +from pylons_app.model.db import Users, UserLogs log = logging.getLogger(__name__) class UsersController(BaseController): @@ -16,14 +18,13 @@ c.staticurl = g.statics c.admin_user = session.get('admin_user') c.admin_username = session.get('admin_username') - self.conn, self.cur = auth.get_sqlite_conn_cur() + self.sa = meta.Session def index(self, format='html'): """GET /users: All items in the collection""" # url('users') - self.cur.execute('SELECT * FROM users') - c.users_list = self.cur.fetchall() + c.users_list = self.sa.query(Users).all() return render('/users.html') def create(self): @@ -52,20 +53,24 @@ # method='delete') # url('user', id=ID) try: - self.cur.execute("DELETE FROM users WHERE user_id=?", (id,)) - self.conn.commit() + self.sa.delete(self.sa.query(Users).get(id)) + self.sa.commit() except: - self.conn.rollback() + self.sa.rollback() raise return redirect(url('users')) def show(self, id, format='html'): """GET /users/id: Show a specific item""" # url('user', id=ID) - self.cur.execute("SELECT * FROM users WHERE user_id=?", (id,)) - ret = self.cur.fetchone() - c.user_name = ret[1] - return render('/users_show.html') + c.user = self.sa.query(Users).get(id) + + return htmlfill.render( + render('/users_show.html'), + defaults=c.user.__dict__, + encoding="UTF-8", + force_defaults=False + ) def edit(self, id, format='html'): """GET /users/id/edit: Form to edit an existing item"""