def Home(request): form = None deck_list = [] if request.user.is_authenticated: user_id = request.user.id signer = Signer(request.user.id) #new deck form if request.method == "POST": form = NewDeck(request.POST) if form.is_valid(): deck = form.save(commit=False) deck.user_id = user_id deck.save() return HttpResponseRedirect('/') else: form = NewDeck(initial={'user' : request.user.id}) #grab all decks associated with a user order by descending date created decks = Deck.objects.filter(user_id=user_id, deleted_flag = 0).order_by('-date_created') for deck in decks: deck_list.append({ "deck_id" : signer.sign(deck.deck_id), "deck_name" : deck.deck_name, "share" : deck.share_flag }) context = { "form" : form, "deck_list" : deck_list, } return render(request, "landing/home.html", context)
def Clone(request): if request.method == 'POST': signer = Signer(request.user.id) user = request.POST.get('user') deck_name = request.POST.get('deck_name') share_flag = request.POST.get('share_flag') clone_deck_id = request.POST.get('clone_deck_id') try: user = signer.unsign(user) clone_deck_id = signer.unsign(clone_deck_id) except signing.BadSignature: return HttpResponse(json.dumps({"Tampering": "bad signature"})) if share_flag == 'false': share_flag = 0 else: share_flag = 1 data = {'user': user, 'deck_name': deck_name, 'share_flag': share_flag} #create the new deck form = NewDeck(data) if form.is_valid(): deck = form.save(commit=False) deck.user_id = user deck.save() new_deck_id = deck.deck_id #add all the cards from the shared deck to your new deck cards = Card.objects.filter(deck_id=clone_deck_id, deleted_flag=0) for card in cards: new_card = Card.objects.create(deck_id=new_deck_id, front=card.front, back=card.back) else: print "error" errors = form.errors print errors return HttpResponse(json.dumps(errors)) return HttpResponse(json.dumps({"success": "success"}))
def Clone(request): if request.method == 'POST': signer = Signer(request.user.id) user = request.POST.get('user') deck_name = request.POST.get('deck_name') share_flag = request.POST.get('share_flag') clone_deck_id = request.POST.get('clone_deck_id') try: user = signer.unsign(user) clone_deck_id = signer.unsign(clone_deck_id) except signing.BadSignature: return HttpResponse(json.dumps({"Tampering": "bad signature"})) if share_flag == 'false': share_flag = 0 else: share_flag = 1 data = {'user' : user, 'deck_name' : deck_name, 'share_flag' : share_flag} #create the new deck form = NewDeck(data) if form.is_valid(): deck = form.save(commit=False) deck.user_id = user deck.save() new_deck_id = deck.deck_id #add all the cards from the shared deck to your new deck cards = Card.objects.filter(deck_id = clone_deck_id, deleted_flag = 0) for card in cards: new_card = Card.objects.create(deck_id = new_deck_id, front=card.front,back=card.back) else: print "error" errors = form.errors print errors return HttpResponse(json.dumps(errors)) return HttpResponse(json.dumps({"success": "success"}))
def New_Deck(request): if request.method == 'POST': user = request.POST.get('user') deck_name = request.POST.get('deck_name') share_flag = request.POST.get('share_flag') if share_flag == 'false': share_flag = 0 else: share_flag = 1 data = {'user': user, 'deck_name': deck_name, 'share_flag': share_flag} form = NewDeck(data) if form.is_valid(): print "valid form" deck = form.save(commit=False) deck.user_id = user deck.save() else: print "error" errors = form.errors print errors return HttpResponse(json.dumps(errors)) return HttpResponse(json.dumps({"success": "success"}))
def New_Deck(request): if request.method == 'POST': user = request.POST.get('user') deck_name = request.POST.get('deck_name') share_flag = request.POST.get('share_flag') if share_flag == 'false': share_flag = 0 else: share_flag = 1 data = {'user' : user, 'deck_name' : deck_name, 'share_flag' : share_flag} form = NewDeck(data) if form.is_valid(): print "valid form" deck = form.save(commit=False) deck.user_id = user deck.save() else: print "error" errors = form.errors print errors return HttpResponse(json.dumps(errors)) return HttpResponse(json.dumps({"success": "success"}))