]> git.ipfire.org Git - ipfire.org.git/blobdiff - src/web/people.py
users: Move edit page from people
[ipfire.org.git] / src / web / people.py
index 251e74dc6221fe77ee767593db9407a5b3085580..1e0b331ae4f010d824a0bdebb87aaae6027404aa 100644 (file)
@@ -4,8 +4,6 @@ import datetime
 import ldap
 import tornado.web
 
-from .. import countries
-
 from . import base
 from . import ui_modules
 
@@ -102,64 +100,6 @@ class SIPHandler(base.BaseHandler):
                self.render("people/sip.html", account=account)
 
 
-class UserEditHandler(base.BaseHandler):
-       @tornado.web.authenticated
-       def get(self, uid):
-               account = self.backend.accounts.get_by_uid(uid)
-               if not account:
-                       raise tornado.web.HTTPError(404, "Could not find account %s" % uid)
-
-               # Check for permissions
-               if not account.can_be_managed_by(self.current_user):
-                       raise tornado.web.HTTPError(403, "%s cannot manage %s" % (self.current_user, account))
-
-               self.render("people/user-edit.html", account=account, countries=countries.get_all())
-
-       @tornado.web.authenticated
-       def post(self, uid):
-               account = self.backend.accounts.get_by_uid(uid)
-               if not account:
-                       raise tornado.web.HTTPError(404, "Could not find account %s" % uid)
-
-               # Check for permissions
-               if not account.can_be_managed_by(self.current_user):
-                       raise tornado.web.HTTPError(403, "%s cannot manage %s" % (self.current_user, account))
-
-               # Unfortunately this cannot be wrapped into a transaction
-               try:
-                       account.first_name   = self.get_argument("first_name")
-                       account.last_name    = self.get_argument("last_name")
-                       account.nickname     = self.get_argument("nickname", None)
-                       account.street       = self.get_argument("street", None)
-                       account.city         = self.get_argument("city", None)
-                       account.postal_code  = self.get_argument("postal_code", None)
-                       account.country_code = self.get_argument("country_code", None)
-                       account.description  = self.get_argument("description", None)
-
-                       # Avatar
-                       try:
-                               filename, data, mimetype = self.get_file("avatar")
-
-                               if not mimetype.startswith("image/"):
-                                       raise tornado.web.HTTPError(400, "Avatar is not an image file: %s" % mimetype)
-
-                               account.upload_avatar(data)
-                       except TypeError:
-                               pass
-
-                       # Email
-                       account.mail_routing_address = self.get_argument("mail_routing_address", None)
-
-                       # Telephone
-                       account.phone_numbers = self.get_argument("phone_numbers", "").splitlines()
-                       account.sip_routing_address = self.get_argument("sip_routing_address", None)
-               except ldap.STRONG_AUTH_REQUIRED as e:
-                       raise tornado.web.HTTPError(403, "%s" % e) from e
-
-               # Redirect back to user page
-               self.redirect("/users/%s" % account.uid)
-
-
 class AgentModule(ui_modules.UIModule):
        def render(self, account):
                return self.render_string("people/modules/agent.html", account=account)