def get_request_data(): """Helper function to determine the current user, permissions and token""" if request.get_cookie("token"): token = request.get_cookie("token") else: token = None permissions = usermanager.get_permissions_for_session_token(token) user_id = usermanager.get_user_id_for_session_token(token) return user_id, permissions, token
def nodenet_mgt(): user_id, permissions, token = get_request_data() if "manage nodenets" in permissions: notification = None if request.get_cookie('notification'): notification = json.loads(request.get_cookie('notification')) response.set_cookie('notification', '', path='/') return template("nodenet_mgt", version=VERSION, permissions=permissions, user_id=user_id, nodenet_list=runtime.get_available_nodenets(), notification=notification) return template("error", msg="Insufficient rights to access nodenet console")
def signup(): if request.get_cookie("token"): token = request.get_cookie("token") else: token = None if not usermanager.users: # create first user return template("signup", version=VERSION, title="Create the administrator for the %s server" % APPTITLE, first_user=True, cookie_warning=(token is None)) return template("signup", version=VERSION, title="Create a new user for the %s server" % APPTITLE, permissions=usermanager.get_permissions_for_session_token(token), cookie_warning=(token is None))
def import_world_form(): token = request.get_cookie("token") return template("upload.tpl", title='World import', message='Select a file to upload and use for importing', action='/world/import', version=VERSION, user_id=usermanager.get_user_id_for_session_token(token), permissions=usermanager.get_permissions_for_session_token(token))
def merge_nodenet_form(nodenet_uid): token = request.get_cookie("token") return template("upload.tpl", title='Merge Nodenet', message='Select a file to upload and use for merging', action='/nodenet/merge/%s' % nodenet_uid, version=VERSION, userid=usermanager.get_user_id_for_session_token(token), permissions=usermanager.get_permissions_for_session_token(token))
def signup(): if request.get_cookie("token"): token = request.get_cookie("token") else: token = None if not usermanager.users: # create first user return template("signup", version=VERSION, title="Create the administrator for the %s server" % APPTITLE, first_user=True, cookie_warning=(token is None)) return template("signup", version=VERSION, title="Create a new user for the %s server" % APPTITLE, permissions=usermanager.get_permissions_for_session_token(token), first_user=False, cookie_warning=(token is None))
def _add_world_list(template_name, **params): worlds = runtime.get_available_worlds() if request.query.get('select_world') and request.query.get('select_world') in worlds: current_world = request.query.get('select_world') response.set_cookie('selected_world', current_world) else: current_world = request.get_cookie('selected_world') world_type = "" world_assets = {} world_template = "" if current_world: world_obj = runtime.load_world(current_world) world_type = world_obj.__class__.__name__ if hasattr(world_obj, 'assets'): world_assets = world_obj.assets if 'template' in world_assets: import inspect basedir = os.path.dirname(inspect.getfile(world_obj.__class__)) with open(os.path.join(basedir, world_assets['template'])) as fp: world_template = template(fp.read(), world_assets=world_assets) return template(template_name, current=current_world, mine=dict((uid, worlds[uid]) for uid in worlds if worlds[uid].get('owner') == params['user_id']), others=dict((uid, worlds[uid]) for uid in worlds if worlds[uid].get('owner') != params['user_id']), world_type=world_type, world_assets=world_assets, world_template=world_template, **params)
def edit_world_form(): token = request.get_cookie("token") id = request.params.get('id', None) title = 'Edit World' if id is not None else 'New World' return template("world_form.tpl", title=title, worldtypes=runtime.get_available_world_types(), version=VERSION, user_id=usermanager.get_user_id_for_session_token(token), permissions=usermanager.get_permissions_for_session_token(token))
def edit_world_form(): token = request.get_cookie("token") id = request.params.get('id', None) title = 'Edit World' if id is not None else 'New World' worldtypes = runtime.get_available_world_types() return template("world_form.tpl", title=title, worldtypes=worldtypes, version=VERSION, user_id=usermanager.get_user_id_for_session_token(token), permissions=usermanager.get_permissions_for_session_token(token))
def edit_device_form(): token = request.get_cookie("token") device_types = runtime.get_device_types() device_data = runtime.get_devices() return template("device_form.tpl", device_types=device_types, device_data=device_data, version=VERSION, user_id=usermanager.get_user_id_for_session_token(token), permissions=usermanager.get_permissions_for_session_token(token))
def edit_world_form(): token = request.get_cookie("token") worldtypes = runtime.get_available_world_types() world_data = runtime.world_data return template("world_form.tpl", worldtypes=worldtypes, world_data=world_data, version=VERSION, user_id=usermanager.get_user_id_for_session_token(token), permissions=usermanager.get_permissions_for_session_token(token))
def _add_world_list(template_name, **params): worlds = runtime.get_available_worlds() if request.query.get('select_world') and request.query.get('select_world') in worlds: current_world = request.query.get('select_world') response.set_cookie('selected_world', current_world) else: current_world = request.get_cookie('selected_world') if current_world in worlds and hasattr(worlds[current_world], 'assets'): world_assets = worlds[current_world].assets else: world_assets = {} return template(template_name, current=current_world, mine=dict((uid, worlds[uid]) for uid in worlds if worlds[uid].owner == params['user_id']), others=dict((uid, worlds[uid]) for uid in worlds if worlds[uid].owner != params['user_id']), world_assets=world_assets, **params)