コード例 #1
0
def new_graph(request):
    f = {}
    if request.method == 'POST':
        # form submission
        f['graph'] = GraphForm(request.POST, prefix="graph")
        f['study'] = StudyForm(request.POST, prefix="study")

        if f['graph'].is_valid() and (
                not f['graph'].cleaned_data["study_active"]
                or f['study'].is_valid()):
            # woo all good
            g = f['graph'].save(commit=False)

            # hash graph's key
            g.secret = make_password(f['graph'].cleaned_data["secret"])
            g.save()

            # build the graph's concepts
            g.build(f['graph'].cleaned_data["json_data"])

            # insert study data if applicable
            if f['graph'].cleaned_data["study_active"]:
                s = f['study'].save(commit=False)
                s.graph = g
                s.save()
                buildPIDs(s, f['study'].cleaned_data["pids"])
            else:
                # insert blank study
                Studies(graph=g).save()

            # all saved, provide edit access and forward to map
            setEdit(request, g.pk)
            return HttpResponseRedirect(
                reverse("maps:display", kwargs={"gid": g.pk}))
        f['error'] = f['graph'].errors.get('json_data')
    else:
        secrets = {
            'secret': generateSecret(),
            'lti_key': generateSecret(8),
            'lti_secret': generateSecret()
        }
        f['graph'] = GraphForm(initial=secrets, prefix="graph")
        f['study'] = StudyForm(prefix="study")

    return render(request, "maps-form.html", {'forms': f})
コード例 #2
0
ファイル: views.py プロジェクト: danallan/octal-application
def auth(request, gid=""):
    """
    Allow a user to edit a unit for a session if correct secret
    """
    g = get_object_or_404(Graphs, pk=gid)

    fwd = request.GET.get('p', reverse('maps:display', kwargs={'gid':gid}))

    if request.method == 'POST':
        form = KeyForm(request.POST, graph=g, prefix="key")
        if form.is_valid():
            # user has entered a valid secret, forward back to URL
            setEdit(request, gid)
            return HttpResponseRedirect(fwd)
    else:
        form = KeyForm(graph=g, prefix="key")

    return render(request, "auth-form.html", {'key':form, 'gid':gid, 'fwd':fwd})
コード例 #3
0
ファイル: views.py プロジェクト: danallan/octal-application
def new_graph(request):
    f = {}
    if request.method == 'POST':
        # form submission
        f['graph'] = GraphForm(request.POST, prefix="graph")
        f['study'] = StudyForm(request.POST, prefix="study")

        if f['graph'].is_valid() and (not f['graph'].cleaned_data["study_active"] or f['study'].is_valid()):
            # woo all good
            g = f['graph'].save(commit=False)

            # hash graph's key
            g.secret = make_password(f['graph'].cleaned_data["secret"]);
            g.save()

            # build the graph's concepts
            g.build(f['graph'].cleaned_data["json_data"])

            # insert study data if applicable
            if f['graph'].cleaned_data["study_active"]:
                s = f['study'].save(commit=False)
                s.graph = g
                s.save()
                buildPIDs(s, f['study'].cleaned_data["pids"])
            else:
                # insert blank study
                Studies(graph=g).save()

            # all saved, provide edit access and forward to map
            setEdit(request, g.pk)
            return HttpResponseRedirect(reverse("maps:display", kwargs={"gid":g.pk}))
        f['error'] = f['graph'].errors.get('json_data')
    else:
        secrets = {'secret':generateSecret(),
                   'lti_key':generateSecret(8),
                   'lti_secret':generateSecret()}
        f['graph'] = GraphForm(initial=secrets, prefix="graph")
        f['study'] = StudyForm(prefix="study")

    return render(request, "maps-form.html", {'forms':f})
コード例 #4
0
def auth(request, gid=""):
    """
    Allow a user to edit a unit for a session if correct secret
    """
    g = get_object_or_404(Graphs, pk=gid)

    fwd = request.GET.get('p', reverse('maps:display', kwargs={'gid': gid}))

    if request.method == 'POST':
        form = KeyForm(request.POST, graph=g, prefix="key")
        if form.is_valid():
            # user has entered a valid secret, forward back to URL
            setEdit(request, gid)
            return HttpResponseRedirect(fwd)
    else:
        form = KeyForm(graph=g, prefix="key")

    return render(request, "auth-form.html", {
        'key': form,
        'gid': gid,
        'fwd': fwd
    })