def getConnection(request): conn = None if request.session.get('username', None): logger.debug('attempting to retrieve emdb connection with username: %s' % request.session.get('username', None)) conn = getBlitzConnection(request, useragent="OMERO.webemdb") if not request.session.has_key('processors'): request.session['processors'] = {} if conn != None: logger.debug('emdb connection: %s' % conn._sessionUuid) if conn == None: # session has timed out. Need to logout and log in again. try: _session_logout(request, request.session['server']) except: import traceback logger.debug("Failed to log out %s" % traceback.format_exc()) server_id = request.REQUEST.get('server',None) if server_id is not None: blitz = settings.SERVER_LIST.get(pk=int(server_id)) else: blitz = settings.SERVER_LIST.get(pk=1) logger.debug('attempting to connect emdb with blitz: %s' % blitz) request.session['server'] = blitz.id request.session['host'] = blitz.host request.session['port'] = blitz.port request.session['password'] = "******" request.session['username'] = "******" request.session['processors'] = {} request.session.modified = True conn = getBlitzConnection (request, useragent="OMERO.webemdb") logger.debug('emdb connection: %s server %s' % (conn._sessionUuid, blitz.host)) return conn
def groups_members(request): """ List the users of the current group - if permitted """ conn = getBlitzConnection (request, useragent="OMERO.webmobile") if conn is None or not conn.isConnected(): return HttpResponseRedirect(reverse('webmobile_login')) groupId = conn.getEventContext().groupId showMembers = True if str(conn.getEventContext().groupPermissions) == "rw----": showMembers = False members = conn.containedExperimenters(groupId) groups = [] perms = {"rw----":'private', "rwr---":'read-only', "rwrw--":'collaborative'} for g in conn.getGroupsMemberOf(): try: p = perms[str(g.getDetails().permissions)] except KeyError: p = "" groups.append({ "id": g.id, "name": g.getName(), "permissions": p }) return render_to_response('webmobile/groups_members.html', {'client': conn, 'showMembers': showMembers, 'members': members, 'groups': groups})
def image_viewer(request, iid, **kwargs): """ This view is responsible for showing pixel data as images """ conn = getBlitzConnection(request, useragent="OMERO.webemdb") if conn is None or not conn.isConnected(): return HttpResponseRedirect(reverse("webemdb_login")) kwargs["viewport_server"] = "/webclient" return webgateway_views.full_viewer(request, iid, _conn=conn, **kwargs)
def viewer(request, imageId): conn = getBlitzConnection (request, useragent="OMERO.webmobile") if conn is None or not conn.isConnected(): return HttpResponseRedirect(reverse('webmobile_login')) image = conn.getObject("Image", imageId) w = image.getSizeX() h = image.getSizeY() return render_to_response('webmobile/viewers/viewer_iphone.html', {'image':image})
def tinyurl(request, base_62): base_62 = base62.to_decimal(base_62) link = get_object_or_404(Link, pk=base_62) REQUEST = {'url': link.url, 'server': 1, 'username': settings.PUBLIC_USER, 'password': settings.PUBLIC_PASSWORD} REQUEST = MergeDict(REQUEST, request.REQUEST) dummy_request = DummyHttpRequest(REQUEST, request.session, request.method) to_return = webclient_login(dummy_request) conn = getBlitzConnection(dummy_request, useragent="OMERO.web") conn.changeActiveGroup(link.group) return to_return
def getConnection(request): conn = None if request.session.get("username", None): logger.debug( "attempting to retrieve emdb connection with username: %s" % request.session.get("username", None) ) conn = getBlitzConnection(request, useragent="OMERO.webemdb") if not request.session.has_key("processors"): request.session["processors"] = {} if conn != None: logger.debug("emdb connection: %s" % conn._sessionUuid) if conn == None: # session has timed out. Need to logout and log in again. try: _session_logout(request, request.session["server"]) except: import traceback logger.debug("Failed to log out %s" % traceback.format_exc()) server_id = request.REQUEST.get("server", None) if server_id is not None: blitz = Server.get(pk=int(server_id)) else: blitz = Server.get(pk=1) logger.debug("attempting to connect emdb with blitz: %s" % blitz) request.session["server"] = blitz.id request.session["host"] = blitz.host request.session["port"] = blitz.port request.session["password"] = "******" request.session["username"] = "******" request.session["processors"] = {} request.session.modified = True conn = getBlitzConnection(request, useragent="OMERO.webemdb") logger.debug("emdb connection: %s server %s" % (conn._sessionUuid, blitz.host)) return conn
def wrapped (request, *args, **kwargs): #this check the connection exist, if not it will redirect to login page url = request.REQUEST.get('url') if url is None or len(url) == 0: if request.META.get('QUERY_STRING'): url = '%s?%s' % (request.META.get('PATH_INFO'), request.META.get('QUERY_STRING')) else: url = '%s' % (request.META.get('PATH_INFO')) conn = None loginUrl = reverse("webmobile_login") try: conn = getBlitzConnection(request, useragent="OMERO.webmobile") except Exception, x: logger.error(traceback.format_exc()) return HttpResponseRedirect("%s?error=%s&url=%s" % (loginUrl, str(x), url))
def switch_group(request, groupId): """ Switch to the specified group, then redirect to index. """ conn = getBlitzConnection (request, useragent="OMERO.webmobile") if conn is None or not conn.isConnected(): return HttpResponseRedirect(reverse('webmobile_login')) from webclient.views import change_active_group try: #change_active_group(request, kwargs={'conn': conn}) conn.changeActiveGroup(long(groupId)) # works except after viewing thumbnails in private group! except: logger.error(traceback.format_exc()) return HttpResponse(traceback.format_exc()) return HttpResponseRedirect(reverse('webmobile_index'))
def login (request): if request.method == 'POST' and request.REQUEST['server']: blitz = settings.SERVER_LIST.get(pk=request.REQUEST['server']) request.session['server'] = blitz.id request.session['host'] = blitz.host request.session['port'] = blitz.port conn = getBlitzConnection (request, useragent="OMERO.webmobile") logger.debug(conn) url = request.REQUEST.get("url") if conn is None: return render_to_response('webmobile/login.html', {'gw':settings.SERVER_LIST, 'url': url}) if url is not None and len(url) != 0: return HttpResponseRedirect(url) else: return HttpResponseRedirect(reverse('webmobile_index'))
def login (request): """ Attempts to get a connection to the server by calling L{omeroweb.webgateway.views.getBlitzConnection} with the 'request' object. If a connection is created, the user is directed to the 'webtest_index' page. If a connection is not created, this method returns a login page. @param request: The django http request @return: The http response - webtest_index or login page """ if request.method == 'POST' and request.REQUEST['server']: blitz = settings.SERVER_LIST.get(pk=request.REQUEST['server']) request.session['server'] = blitz.id request.session['host'] = blitz.host request.session['port'] = blitz.port conn = getBlitzConnection (request, useragent="OMERO.webtest") logger.debug(conn) if conn is not None: return HttpResponseRedirect(reverse('webtest_index')) return render_to_response('webtest/login.html', {'gw':settings.SERVER_LIST})
def login(request): request.session.modified = True if request.method == 'POST' and request.REQUEST.get('server'): blitz = settings.SERVER_LIST.get(pk=request.REQUEST.get('server')) request.session['server'] = blitz.id request.session['host'] = blitz.host request.session['port'] = blitz.port request.session['username'] = smart_str(request.REQUEST.get('username')) request.session['password'] = smart_str(request.REQUEST.get('password')) request.session['ssl'] = (True, False)[request.REQUEST.get('ssl') is None] error = request.REQUEST.get('error') conn = None # TODO: version check should be done on the low level, see #5983 if _checkVersion(request.session.get('host'), request.session.get('port')): try: conn = getBlitzConnection(request, useragent="OMERO.webadmin") except Exception, x: logger.error(traceback.format_exc()) error = str(x)