Exemplo n.º 1
0
def createCard(request):
    if request.user.is_authenticated():
        if request.method == 'POST':
            try:
                formDict = json.loads(request.body, encoding='latin1')
            except ValueError as e:
                print e
                return HttpResponse(status=500)
            try:
                values = parseCreateCardFormData(formDict)
                card = Card(name=values[0],
                            value=values[1],
                            cardIcon=values[2])
                card.save()
                cardUser = CardUser(user=request.user,
                                    card=card,
                                    expiry_date=values[3])
                cardUser.save()
            except Exception as e:
                print e
                return HttpResponse(status=500)
            return HttpResponse(card.id)
        else:
            return HttpResponse(status=400)

    return HttpResponse(status=401)
Exemplo n.º 2
0
def shareCard(request, card_id):
    if request.user.is_authenticated():
        if request.method == 'POST':
            try:
                cards = Card.objects.filter(users__id=request.user.id)
                cardToShare = cards.filter(pk=card_id)
            except Exception as e:
                print e
                return HttpResponse(status=500)
            if cardToShare.exists():
                dicts = json.loads(request.body)
                name = dicts['username']
                exp_date = dicts['exp_date']

                # user does not exist, cannot share with non existing user
                try:
                    userToShareKey = User.objects.get(username=name)
                except Exception as e:
                    return HttpResponse(status=404)

                # user is self, cannot share with yourself
                if request.user.username == name:
                    return HttpResponse(status=403)

                existingCardUser = Card.objects.filter(
                    users__id=userToShareKey.pk, pk=card_id)

                # user already has this card
                if existingCardUser.exists():
                    return HttpResponse(status=403)

                # share the card
                for card in cardToShare:
                    cardUserObjects = card.carduser_set.all()
                    for cardUserObject in cardUserObjects:
                        role = cardUserObject.role
                        if role == 0:
                            try:
                                cardUser = CardUser(user=userToShareKey,
                                                    card=card,
                                                    expiry_date=exp_date,
                                                    role=1)
                                cardUser.save()
                            except Exception as e:
                                print e
                                return HttpResponse(status=500)
                        else:
                            continue

            return HttpResponse(status=200)
        return HttpResponse(status=400)
    else:
        return HttpResponse(status=401)
Exemplo n.º 3
0
def shareCard(request, card_id):
    if request.user.is_authenticated():
        if request.method == 'POST':
            try:
                cards = Card.objects.filter(users__id = request.user.id)
                cardToShare = cards.filter(pk = card_id)
            except Exception as e:
                print e
                return HttpResponse(status=500)
            if cardToShare.exists():
                dicts = json.loads(request.body)
                name = dicts['username']
                exp_date = dicts['exp_date']
                
                # user does not exist, cannot share with non existing user
                try:
                    userToShareKey = User.objects.get(username = name)
                except Exception as e:
                    return HttpResponse(status=404)

                # user is self, cannot share with yourself
                if request.user.username == name:
                    return HttpResponse(status=403)
                
                existingCardUser = Card.objects.filter(users__id = userToShareKey.pk, pk = card_id)

                # user already has this card
                if existingCardUser.exists():
                    return HttpResponse(status=403)
                
                # share the card
                for card in cardToShare:
                    cardUserObjects = card.carduser_set.all()
                    for cardUserObject in cardUserObjects:
                        role = cardUserObject.role
                        if role == 0:
                            try:
                                cardUser = CardUser(user = userToShareKey, card = card, expiry_date = exp_date, role=1)
                                cardUser.save()
                            except Exception as e:
                                print e
                                return HttpResponse(status=500)
                        else:
                            continue
                        
            return HttpResponse(status=200)
        return HttpResponse(status=400)
    else:
        return HttpResponse(status=401)
Exemplo n.º 4
0
def createCard(request):
    if request.user.is_authenticated():
        if request.method == 'POST': 
            try:
                formDict = json.loads(request.body, encoding = 'latin1')
            except ValueError as e:
                print e
                return HttpResponse(status=500)
            try:
                values = parseCreateCardFormData(formDict)             
                card = Card(name = values[0], value = values[1], cardIcon = values[2])
                card.save()
                cardUser = CardUser(user = request.user, card = card, expiry_date = values[3])
                cardUser.save()
            except Exception as e:
                print e
                return HttpResponse(status=500)    
            return HttpResponse(card.id)
        else:
            return HttpResponse(status=400)
    
    return HttpResponse(status=401)