def delete_account(self, data):
        """ Delete account from DB """
        error = False
        msg = ""

        username = self.user_manager.session_username()

        # Check input format
        result = self.database.users.find_one_and_delete({"username": username,
                                                          "email": data.get("delete_email", "")})
        if not result:
            error = True
            msg = _("The specified email is incorrect.")
        else:
            self.database.submissions.remove({"username": username})
            self.database.user_tasks.remove({"username": username})

            all_courses = self.course_factory.get_all_courses()

            for courseid, course in all_courses.items():
                if self.user_manager.course_is_open_to_user(course, username):
                    self.user_manager.course_unregister_user(course, username)

            self.user_manager.disconnect_user()
            raise web.seeother("/index")

        return msg, error
def delete_account ( self , data ) : error = False msg = "" username = self . user_manager . session_username ( ) result = self . database . users . find_one_and_delete ( { "username" : username , "email" : data . get ( "delete_email" , "" ) } ) if not result : error = True msg = _ ( "The specified email is incorrect." ) else : self . database . submissions . remove ( { "username" : username } ) self . database . user_tasks . remove ( { "username" : username } ) all_courses = self . course_factory . get_all_courses ( ) for courseid , course in all_courses . items ( ) : if self . user_manager . course_is_open_to_user ( course , username ) : self . user_manager . course_unregister_user ( course , username ) self . user_manager . disconnect_user ( ) raise web . seeother ( "/index" ) return msg , error
Delete account from DB