diff pylons_app/model/user_model.py @ 371:5cd6616b8673

routes python 2.5 compatible added my account settings, some changes to routes mappers for settings to more custom ones
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 28 Jul 2010 01:44:39 +0200
parents 98abf8953b87
children 3ed2d46a2ca7
line wrap: on
line diff
--- a/pylons_app/model/user_model.py	Tue Jul 27 15:57:21 2010 +0200
+++ b/pylons_app/model/user_model.py	Wed Jul 28 01:44:39 2010 +0200
@@ -68,9 +68,9 @@
             self.sa.rollback()
             raise      
     
-    def update(self, id, form_data):
+    def update(self, uid, form_data):
         try:
-            new_user = self.sa.query(User).get(id)
+            new_user = self.sa.query(User).get(uid)
             if new_user.username == 'default':
                 raise DefaultUserException(
                                 _("You can't Edit this user since it's" 
@@ -87,7 +87,28 @@
             log.error(e)
             self.sa.rollback()
             raise      
-
+        
+    def update_my_account(self, uid, form_data):
+        try:
+            new_user = self.sa.query(User).get(uid)
+            if new_user.username == 'default':
+                raise DefaultUserException(
+                                _("You can't Edit this user since it's" 
+                                  " crucial for entire application"))
+            for k, v in form_data.items():
+                if k == 'new_password' and v != '':
+                    new_user.password = v
+                else:
+                    if k not in ['admin', 'active']:
+                        setattr(new_user, k, v)
+                
+            self.sa.add(new_user)
+            self.sa.commit()
+        except Exception as e:
+            log.error(e)
+            self.sa.rollback()
+            raise 
+                
     def delete(self, id):
         
         try: