diff pylons_app/model/user_model.py @ 238:a55c17874486

Rewrite of user managment, improved forms, added some user info
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 30 May 2010 17:55:56 +0200
parents
children 3782a6d698af
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pylons_app/model/user_model.py	Sun May 30 17:55:56 2010 +0200
@@ -0,0 +1,48 @@
+#!/usr/bin/env python
+# encoding: utf-8
+#
+# Copyright (c) 2010 marcink.  All rights reserved.
+#
+from pylons_app.model.db import User
+from pylons_app.model.meta import Session
+'''
+Created on Apr 9, 2010
+
+@author: marcink
+'''
+
+class UserModel(object):
+
+    def __init__(self):
+        self.sa = Session() 
+    
+    def get_user(self, id):
+        return self.sa.query(User).get(id)
+    
+    def create(self, form_data):
+        try:
+            new_user = User()
+            for k, v in form_data.items():
+                setattr(new_user, k, v)
+                
+            self.sa.add(new_user)
+            self.sa.commit()
+        except:
+            self.sa.rollback()
+            raise      
+    
+    def update(self, id, form_data):
+        try:
+            new_user = self.sa.query(User).get(id)
+            for k, v in form_data.items():
+                if k == 'new_password' and v != '':
+                    
+                    new_user.password = v
+                else:
+                    setattr(new_user, k, v)
+                
+            self.sa.add(new_user)
+            self.sa.commit()
+        except:
+            self.sa.rollback()
+            raise