Example #1
0
def application_detail(request, pk):
    if not Login.tokenAuth(request) and not Login.auth(request) == True:
        return Response(status=status.HTTP_401_UNAUTHORIZED)
    else:
        # If exists
        try:
            ap = Application.objects.get(id=pk)
        except Application.DoesNotExist:
            return Response(status=status.HTTP_404_NOT_FOUND)

        if request.method == 'GET':
            serializer = ApplicationSerializer(ap, context={'request', request})
            return Response(serializer.data)

        if request.method == 'PUT':
            serializer = ApplicationSerializer(ap, context={'request':request}, data=request.data, partial=True)
            if serializer.is_valid():
                serializer.save()
                return Response(serializer.data, status=status.HTTP_200_OK)
            else:
                return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

        if request.method == 'DELETE':
            # If admin
            if Login.getCurrentUser(request).access_lvl == 1:
                ap.delete()
                return Response(status=status.HTTP_204_NO_CONTENT)
            else:
                Response(status=status.HTTP_401_UNAUTHORIZED)

        # If another is fail
        return Response(status=status.HTTP_400_BAD_REQUEST)
Example #2
0
def buyer_detail(request, pk):
    if not Login.auth(request):
        msg = u'You are logged out. Please login first.'
        return render_to_response('login.html', { 'msg': msg }, context_instance=RequestContext(request))
    else:
        try:
            buyer = Buyer.objects.get(id=pk)
        except Buyer.DoesNotExist:
            return Response(status=status.HTTP_404_NOT_FOUND)

        if request.method == 'GET':
            serializer = BuyerSerializer(buyer, context={'request': request})
            return Response(serializer.data)

        if request.method == 'PUT':
            serializer = BuyerSerializer(buyer, context={'request': request}, data=request.data, partial=True)
            if serializer.is_valid():
                serializer.save()
                return Response(serializer.data)
            else:
                return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

        if request.method == 'DELETE':
            buyer.delete()
            return Response(status=status.HTTP_204_NO_CONTENT)
Example #3
0
def location_detail(request, pk):
    if not Login.auth(request):
        msg = u'You are logged out. Please login first.'
        return render_to_response('login.html', { 'msg': msg }, context_instance=RequestContext(request))
    else:
        try:
            # Pobieranie obiektu o danym ID
            loc = Location.objects.get(id=pk)
        except Location.DoesNotExist:
            # Jeśli nie istnieje - 404
            return Response(status=status.HTTP_404_NOT_FOUND)

        if request.method == 'GET':
            # Dla metody GET - serializujemy i zwracamy
            serializer = LocationSerializer(loc, context={'request': request})
            return Response(serializer.data)

        if request.method == 'PUT':
            # Dla metody PUT - serializujemy wraz z danymi Requesta, zapisujemy i zwracamy
            serializer = LocationSerializer(loc, context={'request': request}, data=request.data, partial=True)
            if serializer.is_valid():
                serializer.save()
                return Response(serializer.data)
            else:
                return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

        if request.method == 'DELETE':
            # Dla metody DELETE, usuwamy
            loc.delete()
            return Response(status=status.HTTP_204_NO_CONTENT)
Example #4
0
def locations(request):
    if Login.auth(request):
        return render_to_response('webapp/locations.html', context_instance=RequestContext(request))

    else:
        msg = u'You are logged out. Please login first.'
        return render_to_response('login.html', context_instance=RequestContext(request))
Example #5
0
def applications_list(request):
    if not Login.tokenAuth(request) and not Login.auth(request) == True:
        return Response(status=status.HTTP_401_UNAUTHORIZED)
    else:
        if request.method == 'GET':
            aps = Application.objects.all()
            serializer = ApplicationSerializer(aps, many=True)
            return Response(serializer.data, status=status.HTTP_200_OK)
        if request.method == 'POST':
            serializer = ApplicationSerializer(context={'request': request}, data=request.data)
            if serializer.is_valid():
                serializer.save()
                return Response(serializer.data, status=status.HTTP_201_CREATED)
            else:
                return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
        # IF all another is fail
        return Response(status=status.HTTP_400_BAD_REQUEST)
Example #6
0
def getAuthToken(request):
    if Login.login(request) == True and request.method == 'POST':
        data = {}
        user = User.objects.get(id=request.session['id'])
        data['TOKEN'] = user.token
        return Response(data=data, status=status.HTTP_200_OK)
    else:
        return Response(data=None, status=status.HTTP_401_UNAUTHORIZED)
Example #7
0
 def set_released(self, request):
     """
     Ustawia zamówienia jako wydane
     :param request: dane sesji
     :return: brak
     """
     self.released = True
     self.dateSpend = timezone.now()
     self.whoReleased = Login.get_current_user(request)
     self.save()
Example #8
0
 def add_order(buyer, request):
     """
     Metoda dodająca zamówienie
     :param buyer: kupujący
     :param request: dane sesji
     :return: zwraca id nowo utworzonego zamówienia
     """
     order = Order()
     order.buyer = buyer
     order.whoAdded = Login.get_current_user(request)
     order.save()
     return order
Example #9
0
 def add_article(name, categoryID, cost, request):
     """
     Dodaje nowy artykuł. Metoda statyczna, by uniknąć tworzenia nowej instancji klasy.
     :param name: nazwa artykułu
     :param categoryID: id kategorii
     :param cost: cena artykułu
     :param request: dane aktualnej sesji
     :return:
     """
     article = Article()
     article.name = str(name)
     article.category = Category.objects.get(id=categoryID)
     article.cost = Decimal(float(cost))
     article.whoAdded = Login.get_current_user(request)
     article.save()
     return article
Example #10
0
def buyers_list(request):
    if not Login.auth(request):
        msg = u'You are logged out. Please login first.'
        return render_to_response('login.html', { 'msg': msg }, context_instance=RequestContext(request))
    else:
        # Dla metody GET - pobierz listę
        if request.method == 'GET':
            buyers = Buyer.objects.all()
            serializer = BuyerSerializer(buyers, context={'request': request}, many=True)
            return Response(serializer.data, status=status.HTTP_200_OK)

        # Dla metody POST - Utwórz nowego użytkownika
        if request.method == 'POST':
            serializer = BuyerSerializer(context={'request': request}, data=request.data)
            if serializer.is_valid():
                serializer.save()
                return Response(serializer.data, status=status.HTTP_201_CREATED)
            else:
                return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Example #11
0
 def add_articleunit(location, article, order, dateInserted, request):
     """
     Dodaje nową jednostkę
     :param location: lokacja jednostki
     :param article: artykuł ogólny
     :param order: przypisane zamówienie
     :param dateInserted: data dodania do bazy
     :param request: dane sesji
     :return: brak
     """
     articleunit = ArticleUnit()
     articleunit.location = location
     # Zwiększenie dostępności o jeden
     article.increaseQuanity()
     articleunit.article = article
     articleunit.order = order
     if dateInserted == None:
         articleunit.dateInserted = timezone.now
     else:
         articleunit.dateInserted = dateInserted
     articleunit.whoAdded = Login.get_current_user(request)
     articleunit.save()
     return articleunit
Example #12
0
    def create(self, validated_data):
        request = self.context['request']

        validated_data['whoAdded'] = Login.getCurrentUser(request)
        return Application.objects.create(**validated_data)
Example #13
0
def choose(request):
    if Login.auth(request):
        return render_to_response('webapp/choose.html', context_instance=RequestContext(request))
    else:
        msg = u'You are logged out. Please login first.'
        return render_to_response('login.html', { 'msg': msg }, context_instance=RequestContext(request))