def post(self):
     username = self.get_current_user()
     
     if username is None:
         self.result("error", "Access denied.")
         return
         
     user = User.get_user(username)
             
     if user.permission_level < constants.PERMISSION_LEVEL_USER:
         self.result("error", "Access denied.")
         return
     
     try:
         displayname = strip_tags(self.get_argument("displayname"))
         email = strip_tags(self.get_argument("email"))
         showemail = bool(self.get_argument("showemail", False))
     except:
         self.result("error", "Invalid arguments. Check that all fields are filled out correctly.")
         return
     
     session = SessionFactory()
     try:
         user.displayname = displayname
         user.email = email
         user.showemail = showemail
         session.add(user)
         session.commit()
         self.result("success", "Settings saved successfully.", user)
     finally:
         session.close()
 def put(self, socket_connection, message, object_data):
     target_id = object_data[u'id']
     target_username = object_data[u'username']
     target_permission_level = int(object_data[u'permissions'])
         
     session = SessionFactory()
     try:
         if target_id is not None:
             user = session.query(User).filter(User.id==int(target_id)).one()
             user.username = target_username
             user.permission_level = target_permission_level
         else:
             user = User(target_username, target_permission_level)
         
         session.add(user)
         session.commit()
         
         self.on_update(user)
     finally:
         session.close()
         
     result_message = {'type': self.message_type,
                       'response': self.object_to_json(user),
                       'deferredId': message['deferredId'],
                      }
     
     socket_connection.write_message(json.dumps(result_message))
#!/usr/bin/python

import os
import sys

system_directory = os.path.dirname(os.path.abspath(__file__))

sys.path.append(system_directory + "/imports")

username = sys.argv[1]
permission_level = int(sys.argv[2])

from database.User import User
from database.SessionFactory import SessionFactory

session = SessionFactory()
try:
    user = User.get_user(username)
    user.permission_level = permission_level
    session.add(user)
    session.commit()
    print "Successfully set permission level for user '{}' to {}.".format(user.username, user.permission_level)
finally:
    session.close()