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})
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})
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})
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 })