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)
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)
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)
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))
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)
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)
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()
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
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
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)
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
def create(self, validated_data): request = self.context['request'] validated_data['whoAdded'] = Login.getCurrentUser(request) return Application.objects.create(**validated_data)
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))