diff rhodecode/model/user.py @ 4016:cce2d984b001

User create/delete hooks for rcextensions. When a user is created or deleted, the CREATE_USER_HOOK or DELETE_USER_HOOK are called as part of the log_create_user and log_delete_user functions respectively. This is similar to the existing log_create_repository and log_delete_repository functions that already exist as part of the rcextensions module.
author Jonathan Sternberg <jonathansternberg@gmail.com>
date Mon, 17 Jun 2013 18:09:50 -0400
parents 5293d4bbb1ea
children 509923dac48d
line wrap: on
line diff
--- a/rhodecode/model/user.py	Tue Jun 18 16:39:59 2013 +0200
+++ b/rhodecode/model/user.py	Mon Jun 17 18:09:50 2013 -0400
@@ -94,6 +94,9 @@
 
             new_user.api_key = generate_api_key(form_data['username'])
             self.sa.add(new_user)
+
+            from rhodecode.lib.hooks import log_create_user
+            log_create_user(new_user.get_dict())
             return new_user
         except Exception:
             log.error(traceback.format_exc())
@@ -141,6 +144,10 @@
             new_user.name = firstname
             new_user.lastname = lastname
             self.sa.add(new_user)
+
+            if not edit:
+                from rhodecode.lib.hooks import log_create_user
+                log_create_user(new_user.get_dict())
             return new_user
         except (DatabaseError,):
             log.error(traceback.format_exc())
@@ -169,6 +176,9 @@
                 new_user.lastname = attrs['lastname']
 
                 self.sa.add(new_user)
+
+                from rhodecode.lib.hooks import log_create_user
+                log_create_user(new_user.get_dict())
                 return new_user
             except (DatabaseError,):
                 log.error(traceback.format_exc())
@@ -209,6 +219,9 @@
                 new_user.lastname = attrs['lastname']
 
                 self.sa.add(new_user)
+
+                from rhodecode.lib.hooks import log_create_user
+                log_create_user(new_user.get_dict())
                 return new_user
             except (DatabaseError,):
                 log.error(traceback.format_exc())
@@ -311,6 +324,9 @@
                     % (user.username, len(repos), ', '.join(repos))
                 )
             self.sa.delete(user)
+
+            from rhodecode.lib.hooks import log_delete_user
+            log_delete_user(user.get_dict())
         except Exception:
             log.error(traceback.format_exc())
             raise