|
@@ -7,12 +7,16 @@ from django.shortcuts import get_object_or_404, render, redirect
|
|
|
from django.contrib.auth.decorators import login_required
|
|
|
from django.contrib import messages
|
|
|
from django.http import HttpResponseForbidden
|
|
|
+from django.http import JsonResponse, HttpResponseServerError
|
|
|
from django.core.urlresolvers import reverse
|
|
|
from django.utils import timezone
|
|
|
+from django.db.models import Q, Count
|
|
|
|
|
|
from .forms import LoanDeclareForm, LoanTransferForm, LoanReturnForm
|
|
|
from .models import Item, Loan
|
|
|
|
|
|
+import datetime
|
|
|
+import json
|
|
|
|
|
|
@login_required
|
|
|
def item_list(request):
|
|
@@ -134,3 +138,31 @@ def loan_list(request):
|
|
|
@login_required
|
|
|
def loan_detail(request, pk):
|
|
|
return render(request, 'hardware_provisioning/detail.html', {})
|
|
|
+
|
|
|
+def __getitem__(self, key):
|
|
|
+ return self.item[key]
|
|
|
+
|
|
|
+@login_required
|
|
|
+def item_deployed_count_json(request):
|
|
|
+ output = []
|
|
|
+
|
|
|
+ # Get date form url, or set default
|
|
|
+ date = request.GET.get('date', datetime.date.today())
|
|
|
+
|
|
|
+ # Validate date type
|
|
|
+ if not isinstance(date, datetime.date):
|
|
|
+ try:
|
|
|
+ datetime.datetime.strptime(date, '%Y-%m-%d')
|
|
|
+ except ValueError, TypeError:
|
|
|
+ return HttpResponseServerError("Incorrect date format, should be YYYY-MM-DD")
|
|
|
+
|
|
|
+ # Get hardware deployed
|
|
|
+ itemsdeployed = list(Item.objects.unavailable().summary_item())
|
|
|
+ for item in itemsdeployed:
|
|
|
+ output.append({
|
|
|
+ 'Name' : item['designation'],
|
|
|
+ 'Count' : item['count_item']
|
|
|
+ })
|
|
|
+
|
|
|
+ # Return JSON
|
|
|
+ return JsonResponse(output, safe=False)
|