Example #1
0
def projects_json(request):
    projects = get_user_projects(request, request.user.username)
    data = {
        'projects': projects,
        'user': get_user_data(request.user)
    }
    return JsonResponse(data, safe=False)
Example #2
0
def map(request):
    data = {}
    try:
        if not request.user.is_authenticated():
            user = models.GislabUser.get_guest_user()
            if user:
                login(request, user)
            else:
                raise RuntimeError("Anonymous user is not configured")
        data['user'] = get_user_data(request.user)
        data['project'] = get_project(request)

    except InvalidProjectException as e:
        return render(
            request,
            "viewer/4xx.html",
            {'message': "Error when loading project or project does not exist"},
            status=404,
            content_type="text/html"
        )

    templateData = {
        'data': data,
        'jsonData': json.dumps(data)
    }
    return render(
        request,
        "viewer/index.html",
        templateData,
        status=200,
        content_type="text/html"
    )
Example #3
0
def map(request):
    data = {}
    try:
        if not request.user.is_authenticated():
            user = models.GisquickUser.get_guest_user()
            if user:
                login(request, user)
            else:
                raise RuntimeError("Anonymous user is not configured")
        data['user'] = get_user_data(request.user)
        data['project'] = get_project(request)
        data['app'] = {
            'version': webgis.VERSION,
            'reset_password_url': getattr(settings, 'RESET_PASSWORD_URL', '')
        }

    except InvalidProjectException as e:
        return render(
            request,
            "viewer/4xx.html", {
                'message':
                "Error when loading project or project does not exist"
            },
            status=404,
            content_type="text/html")

    templateData = {'data': data, 'jsonData': json.dumps(data)}
    return render(request,
                  "viewer/index.html",
                  templateData,
                  status=200,
                  content_type="text/html")
Example #4
0
def map(request):
    data = {}
    try:
        if not request.user.is_authenticated():
            user = models.GisquickUser.get_guest_user()
            if user:
                login(request, user)
            else:
                raise RuntimeError("Anonymous user is not configured")
        data['user'] = get_user_data(request.user)
        data['project'] = get_project(request)

    except InvalidProjectException as e:
        return render(
            request,
            "viewer/4xx.html", {
                'message':
                "Error when loading project or project does not exist"
            },
            status=404,
            content_type="text/html")

    templateData = {'data': data, 'jsonData': json.dumps(data)}
    return render(request,
                  "viewer/index.html",
                  templateData,
                  status=200,
                  content_type="text/html")
Example #5
0
def projects_json(request):
    projects = get_user_projects(request, request.user.username)
    data = {
        'projects': projects,
        'user': get_user_data(request.user)
    }
    return JsonResponse(data, safe=False)
Example #6
0
def user_projects(request, username):
    data = {}
    if not request.user.is_authenticated() or request.user.is_guest:
        data['status'] = 401
    else:
        if not username:
            redirect_url = reverse(
                'userpage:user_projects',
                kwargs={'username': request.user.username}
            )
            return HttpResponseRedirect(redirect_url)

        if username == request.user.username or request.user.is_superuser:
            # projects = [{
            #     'title': _('Empty Project'),
            #     'url': request.build_absolute_uri('/'),
            # }]
            # projects.extend(get_user_projects(request, username))
            projects = get_user_projects(request, username)
            data.update({
                'username': username,
                'projects': projects,
                'gislab_version': webgis.VERSION,
                'gislab_homepage': settings.GISQUICK_HOMEPAGE,
                'gislab_documentation': settings.GISQUICK_DOCUMENTATION_PAGE,
                'user': get_user_data(request.user),
                'status': 200
            })
        else:
            try:
                request.user = models.GisquickUser.objects.get(username=username)
            except models.GisquickUser.DoesNotExist:
                return HttpResponse(
                    "User does not exist.",
                    content_type='text/plain',
                    status=403
                )
            data['status'] = 403

    templateData = {
        'data': data,
        'jsonData': json.dumps(data)
    }

    return render(
        request,
        "userpage/index.html",
        templateData,
        content_type="text/html"
    )
Example #7
0
def user_projects(request, username):
    if not request.user.is_authenticated() or request.user.is_guest:
        data = {
            'status': 401
        }
    else:
        if not username:
            redirect_url = app_url(request, user_page_url(request.user.username))
            return HttpResponseRedirect(redirect_url)

        if username == request.user.username or request.user.is_superuser:
            # projects = [{
            #     'title': _('Empty Project'),
            #     'url': request.build_absolute_uri('/'),
            # }]
            # projects.extend(get_user_projects(request, username))
            projects = get_user_projects(request, username)
            data = {
                'username': username,
                'projects': projects,
                'gislab_version': webgis.VERSION,
                'gislab_homepage': settings.GISLAB_HOMEPAGE,
                'gislab_documentation': settings.GISLAB_DOCUMENTATION_PAGE,
                'user': get_user_data(request.user),
                'status': 200
            }
        else:
            try:
                request.user = models.GislabUser.objects.get(username=username)
            except models.GislabUser.DoesNotExist:
                return HttpResponse(
                    "User does not exist.",
                    content_type='text/plain',
                    status=403
                )
            data = {
                'status': 403
            }

    templateData = {
        'data': data,
        'jsonData': json.dumps(data)
    }
    return render(
        request,
        "viewer/user_home.html",
        templateData,
        content_type="text/html"
    )
Example #8
0
def client_login(request):
    if request.method == 'POST':
        context_type = request.META['CONTENT_TYPE']
        if context_type.startswith('application/json'):
            data = json.loads(request.body)
        else:
            data = request.POST
        form = forms.LoginForm(data)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            if username == "guest":
                user = models.GisquickUser.get_guest_user()
            else:
                user = authenticate(username=username, password=password)
            if user:
                try:
                    login(request, user)
                except Exception as e:
                    print(e)
                return JsonResponse(get_user_data(user))
    logout(request)
    return HttpResponse("Login Required", status=401)
Example #9
0
def client_login(request):
    if request.method == 'POST':
        context_type = request.META['CONTENT_TYPE']
        if context_type.startswith('application/json'):
            data = json.loads(request.body)
        else:
            data = request.POST
        form = forms.LoginForm(data)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            if username == "guest":
                user = models.GislabUser.get_guest_user()
            else:
                user = authenticate(username=username, password=password)
            if user:
                try:
                    login(request, user)
                except Exception as e:
                    print (e)
                return JsonResponse(get_user_data(user))
    logout(request)
    return HttpResponse("Login Required", status=401)
Example #10
0
def user_json(request):
    user = request.user
    return JsonResponse(get_user_data(data))
Example #11
0
def user_json(request):
    user = request.user
    return JsonResponse(get_user_data(data))