def report(request): ''' @param request: http generate the data for the report. data is generated from hours_per_consumer ''' _LOG.info("report called by method: %s" % (request.method)) user = str(request.user) account = Account.objects.filter(login=user)[0].account_id if 'byMonth' in request.GET: month = int(request.GET['byMonth'].encode('ascii')) year = datetime.today().year start = datetime(year, month, 1) end = datetime(year, month + 1, 1) - timedelta (days = 1) else: startDate = request.GET['startDate'].encode('ascii').split("/") endDate = request.GET['endDate'].encode('ascii').split("/") start = datetime(int(startDate[2]), int(startDate[0]), int(startDate[1])) end = datetime(int(endDate[2]), int(endDate[0]), int(endDate[1])) if 'env' in request.GET: environment = request.GET['env'] else: environment = "All" list_of_rhics = [] if 'rhic' in request.GET: my_uuid = request.GET['rhic'] list_of_rhics = list(RHIC.objects.filter(uuid=my_uuid)) results = hours_per_consumer(start, end, list_of_rhics, environment=environment) elif 'contract_number' in request.GET: contract = request.GET['contract_number'] if contract == "All": list_of_rhics = list(RHIC.objects.filter(account_id=account)) results = hours_per_consumer(start, end, list_of_rhics=list_of_rhics, environment=environment) else: results = hours_per_consumer(start, end, contract_number=contract, environment=environment) else: list_of_rhics = list(RHIC.objects.filter(account_id=account)) results = hours_per_consumer(start, end, list_of_rhics=list_of_rhics, environment=environment) response = TemplateResponse(request, 'create_report/report.html', {'list': results, 'account': account, 'start': start, 'end': end}) return response
def report(request): ''' @param request: http generate the data for the report. data is generated from hours_per_consumer ''' _LOG.info("report called by method: %s" % (request.method)) user = str(request.user) account = Account.objects.filter(login=user)[0].account_id if 'byMonth' in request.GET: month = int(request.GET['byMonth'].encode('ascii')) year = datetime.today().year start = datetime(year, month, 1) end = datetime(year, month + 1, 1) - timedelta(days=1) else: startDate = request.GET['startDate'].encode('ascii').split("/") endDate = request.GET['endDate'].encode('ascii').split("/") start = datetime(int(startDate[2]), int(startDate[0]), int(startDate[1])) end = datetime(int(endDate[2]), int(endDate[0]), int(endDate[1])) if 'env' in request.GET: environment = request.GET['env'] else: environment = "All" list_of_rhics = [] if 'rhic' in request.GET: my_uuid = request.GET['rhic'] list_of_rhics = list(RHIC.objects.filter(uuid=my_uuid)) results = hours_per_consumer(start, end, list_of_rhics, environment=environment) elif 'contract_number' in request.GET: contract = request.GET['contract_number'] if contract == "All": list_of_rhics = list(RHIC.objects.filter(account_id=account)) results = hours_per_consumer(start, end, list_of_rhics=list_of_rhics, environment=environment) else: results = hours_per_consumer(start, end, contract_number=contract, environment=environment) else: list_of_rhics = list(RHIC.objects.filter(account_id=account)) results = hours_per_consumer(start, end, list_of_rhics=list_of_rhics, environment=environment) response = TemplateResponse(request, 'create_report/report.html', { 'list': results, 'account': account, 'start': start, 'end': end }) return response
def report_admin(request): ''' @param request: http generate the data for the report. data is generated from hours_per_consumer ''' _LOG.info("report called by method: %s" % (request.method)) user = str(request.user) account = Account.objects.filter(login=user)[0].account_id if 'byMonth' in request.POST: month = int(request.POST['byMonth'].encode('ascii')) year = datetime.today().year start = datetime(year, month, 1) end = datetime(year, month + 1, 1) - timedelta(days=1) else: startDate = request.POST['startDate'].encode('ascii').split("/") endDate = request.POST['endDate'].encode('ascii').split("/") _LOG.info(startDate) start = datetime(int(startDate[2]), int(startDate[0]), int(startDate[1])) end = datetime(int(endDate[2]), int(endDate[0]), int(endDate[1])) _LOG.info(start) if 'env' in request.POST: environment = request.POST['env'] else: environment = "All" list_of_rhics = [] if 'rhic' in request.POST: my_uuid = request.POST['rhic'] list_of_rhics = list(RHIC.objects.filter(uuid=my_uuid)) results = hours_per_consumer(start, end, list_of_rhics, environment=environment) elif 'contract_number' in request.POST: contract = request.POST['contract_number'] if contract == "All": list_of_rhics = list(RHIC.objects.filter(account_id=account)) results = hours_per_consumer(start, end, list_of_rhics=list_of_rhics, environment=environment) else: results = hours_per_consumer(start, end, contract_number=contract, environment=environment) else: list_of_rhics = list(RHIC.objects.filter(account_id=account)) results = hours_per_consumer(start, end, list_of_rhics=list_of_rhics, environment=environment) format = "%a %b %d %H:%M:%S %Y" for c in results: for x in c: try: #x['start'] = datetime.fromordinal(x['start']()).strftime(format) #x['end'] = datetime.fromordinal(x['end']()).strftime(format) x['start'] = x['start']() x['end'] = x['end']() except: _LOG.error(sys.exc_info()[0]) _LOG.error(sys.exc_info()[1]) response_data = {} response_data['list'] = results response_data['account'] = account response_data['start'] = start.strftime(format) response_data['end'] = end.strftime(format) try: response = HttpResponse(simplejson.dumps(response_data)) except: _LOG.error(sys.exc_info()[0]) _LOG.error(sys.exc_info()[1]) raise return response
def report_admin(request): ''' @param request: http generate the data for the report. data is generated from hours_per_consumer ''' _LOG.info("report called by method: %s" % (request.method)) user = str(request.user) account = Account.objects.filter(login=user)[0].account_id if 'byMonth' in request.POST: month = int(request.POST['byMonth'].encode('ascii')) year = datetime.today().year start = datetime(year, month, 1) end = datetime(year, month + 1, 1) - timedelta (days = 1) else: startDate = request.POST['startDate'].encode('ascii').split("/") endDate = request.POST['endDate'].encode('ascii').split("/") _LOG.info(startDate); start = datetime(int(startDate[2]), int(startDate[0]), int(startDate[1])) end = datetime(int(endDate[2]), int(endDate[0]), int(endDate[1])) _LOG.info(start); if 'env' in request.POST: environment = request.POST['env'] else: environment = "All" list_of_rhics = [] if 'rhic' in request.POST: my_uuid = request.POST['rhic'] list_of_rhics = list(RHIC.objects.filter(uuid=my_uuid)) results = hours_per_consumer(start, end, list_of_rhics, environment=environment) elif 'contract_number' in request.POST: contract = request.POST['contract_number'] if contract == "All": list_of_rhics = list(RHIC.objects.filter(account_id=account)) results = hours_per_consumer(start, end, list_of_rhics=list_of_rhics, environment=environment) else: results = hours_per_consumer(start, end, contract_number=contract, environment=environment) else: list_of_rhics = list(RHIC.objects.filter(account_id=account)) results = hours_per_consumer(start, end, list_of_rhics=list_of_rhics, environment=environment) format = "%a %b %d %H:%M:%S %Y" for c in results: for x in c: try: #x['start'] = datetime.fromordinal(x['start']()).strftime(format) #x['end'] = datetime.fromordinal(x['end']()).strftime(format) x['start'] = x['start']() x['end'] = x['end']() except: _LOG.error(sys.exc_info()[0]) _LOG.error(sys.exc_info()[1]) response_data = {} response_data['list'] = results response_data['account'] = account response_data['start'] = start.strftime(format) response_data['end'] = end.strftime(format) try: response = HttpResponse(simplejson.dumps(response_data)) except: _LOG.error(sys.exc_info()[0]) _LOG.error(sys.exc_info()[1]) raise return response