commit 32c8973e2f7d87f6daf97e8daf1e202113c37377
parent 4e7972c5c1b9517b949dcbcd19550669b29b89e1
Author: Brian C. Lane <bcl@f12.imp.home>
Date:   Wed, 14 Apr 2010 03:42:31 -0700
Add user deletion
Prevent admin user from being deleted.
Only allows admin to delete other users
Diffstat:
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/server/hms/hms.py b/server/hms/hms.py
@@ -837,8 +837,6 @@ class MediaDeleteHandler(BaseHandler):
             self.redirect("/media/")
             return
 
-        print self.request
-
         conn = sqlite3.connect(options.database)
         conn.row_factory = sqlite3.Row
         cur = conn.cursor()
@@ -1008,14 +1006,27 @@ class MediaHandler(BaseHandler):
 
 class UserDeleteHandler(BaseHandler):
     @tornado.web.authenticated
-    def post(self, media_id):
+    def post(self, user_id):
         """
         Delete the user from the database
         """
-        if self.current_user != 'admin':
-            self.redirect("/media/")
+        if self.current_user != 'admin' or user_id == '1':
+            self.redirect("/user/")
             return
 
+        conn = sqlite3.connect(options.database)
+        conn.row_factory = sqlite3.Row
+        cur = conn.cursor()
+
+        cur.execute("delete from list where user_id=?", (user_id,))
+        cur.execute("delete from last_position where user_id=?", (user_id,))
+        cur.execute("delete from list_media where user_id=?", (user_id,))
+        cur.execute("delete from user where id=?", (user_id,))
+        conn.commit()
+
+        cur.close()
+        conn.close()
+
         return