def subscription_history_csv(request): args = create_args(request) if args['access'] == False: return redirect( Settings.objects.get(key="access denied redirect").value) if args['loged_in'] == False: return redirect("/login/") if "active_client" in request.COOKIES: c_id = int(request.COOKIES.get(str('active_client'))) client = Klienti.objects.get(id=c_id) response = HttpResponse(content_type='text/csv') response['Content-Disposition'] = 'attachment; filename="' + str( c_id) + '.csv"' writer = csv.writer(response) writer.writerow(['locker_nr', 'check_in_time', 'check_out_time']) # HISTORY try: data = Skapji_history.objects.filter(client=client).order_by( '-checkin_time' ) #.values_list('number', 'checkin_time', 'checkout_time') for d in data: writer.writerow([ str(d.number), d.checkin_time.strftime("%Y-%m-%d %H:%M"), d.checkout_time.strftime("%Y-%m-%d %H:%M") ]) except: pass return response
def locker_checkout(request): args = create_args(request) if args['access'] == False: return redirect (Settings.objects.get( key = "access denied redirect" ).value) if args['loged_in'] == False: return redirect("/login/") if "active_client" in request.COOKIES: c_id = int(request.COOKIES.get(str('active_client'))) client = Klienti.objects.get( id = c_id ) try: locker = Skapji.objects.get( client = client ) new_hist = Skapji_history( number = locker.number, locker_type = locker.locker_type, client = locker.client, checkin_time = locker.checkin_time ) new_hist.save() locker.delete() except MultipleObjectsReturned: # Gļux --> Klients iečekots vairākos skapīšos locker = Skapji.objects.filter( client = client ) new_hist = Skapji_history( number = locker[0].number, locker_type = locker[0].locker_type, client = locker[0].client, checkin_time = locker[0].checkin_time ) new_hist.save() for l in locker: l.delete() except: pass return redirect ('/')
def history_xls(request): args = create_args(request) if args['access'] == False: return redirect( Settings.objects.get(key="access denied redirect").value) if args['loged_in'] == False: return redirect("/login/") if "active_client" in request.COOKIES: c_id = int(request.COOKIES.get(str('active_client'))) client = Klienti.objects.get(id=c_id) response = HttpResponse(content_type='application/ms-excel') response['Content-Disposition'] = 'attachment; filename="' + str( c_id) + '.xls"' wb = xlwt.Workbook(encoding='utf-8') ws = wb.add_sheet('Vēsture') # Sheet header, first row row_num = 0 font_style = xlwt.XFStyle() font_style.font.bold = True columns = ['locker_nr', 'check_in_time', 'check_out_time'] for col_num in range(len(columns)): ws.write(row_num, col_num, columns[col_num], font_style) # Sheet body, remaining rows font_style = xlwt.XFStyle() # THIS MOMENT try: data = Skapji.objects.get(client=client) ws.write(1, 0, str(data.number), font_style) ws.write(1, 1, data.checkin_time.strftime("%Y-%m-%d %H:%M"), font_style) row_num += 1 except: pass # HISTORY rows = Skapji_history.objects.filter( client=client).order_by('-checkin_time').values_list( 'number', 'checkin_time', 'checkout_time') for row in rows: row_num += 1 for col_num in range(len(row)): if isinstance(row[col_num], datetime): ws.write(row_num, col_num, row[col_num].strftime("%Y-%m-%d %H:%M"), font_style) else: ws.write(row_num, col_num, row[col_num], font_style) wb.save(response) return response
def edit_client(request): args = create_args(request) if args['access'] == False: return redirect( Settings.objects.get(key="access denied redirect").value) if args['loged_in'] == False: return redirect("/login/") args.update(csrf(request)) # ADD CSRF TOKEN # Settings args['card_string'] = Settings.objects.get(key="card string").value # Edited form POST if request.POST: c_id = int(request.COOKIES.get(str('active_client'))) client = Klienti.objects.get(id=c_id) form = KlientsForm(request.POST, request.FILES, instance=client) if form.is_valid(): form.save() response = redirect("/") response.set_cookie(key='edit_client', value="True", max_age=3) return response else: args['form'] = form args['client'] = client return render_to_response('clients_edit_client.html', args) # LOAD ACTIVE CLIENT FROM COOKIES if "active_client" in request.COOKIES: try: c_id = int(request.COOKIES.get(str('active_client'))) client = Klienti.objects.get(id=c_id) args['client'] = client args['bl_data'] = Blacklist.objects.filter(bl_client=client) form = KlientsForm(instance=client) args['form'] = form args['active_tab_3'] = True try: args['deposit_amount'] = Deposit.objects.filter( d_client=client).order_by('-d_date')[0] except: args['deposit_amount'] = 0 f_temp = Abonementi.objects.filter(client=client, ended=False) if f_temp.count() == 0: args['freeze_disable'] = True except: pass else: return redirect("/") return render_to_response('clients_edit_client.html', args)
def subscription(request, back=False): args = create_args(request) if args['access'] == False: return redirect( Settings.objects.get(key="access denied redirect").value) if args['loged_in'] == False: return redirect("/login/") # Get Active client from COOKIE if "active_client" in request.COOKIES: # if True: try: c_id = int(request.COOKIES.get(str('active_client'))) cli = Klienti.objects.get(id=c_id) except: cli = False args.update(csrf(request)) # ADD CSRF TOKEN # "return path" from this view if back == "edit": args['back'] = "/client/edit/" else: args['back'] = "/" args['abonementi1'] = AbonementType.objects.filter(position=1, position1=1, available=True) args['abonementi2'] = AbonementType.objects.filter(position=1, position1=2, available=True) args['abonementi3'] = AbonementType.objects.filter(position=1, position1=3, available=True) args['special'] = AbonementType.objects.filter(position=3, available=True) args['extra'] = AbonementType.objects.filter(extra=True, available=True) if cli != False: if cli.first: args['first_time'] = AbonementType.objects.filter( position=4, available=True).exclude(first_time=True) else: args['first_time'] = AbonementType.objects.filter(position=4, available=True) if Abonementi.objects.filter(client=cli, ended=False).count() > 0: args['vienreiz'] = AbonementType.objects.filter(position=2, available=True) else: args['vienreiz'] = AbonementType.objects.filter( position=2, available=True).exclude(position1=0) return render_to_response('subscription_choise.html', args)
def clear_id(request): args = create_args(request) if args['access'] == False: return redirect (Settings.objects.get( key = "access denied redirect" ).value) response = redirect ('/') response.delete_cookie('active_client') response.delete_cookie('edit_client') response.delete_cookie('new_client') return response
def in_club_count(request): args = create_args(request) if args['access'] == False: return redirect( Settings.objects.get(key="access denied redirect").value) data = {} data['count'] = Skapji.objects.all().count() if args['loged_in'] == True: return JsonResponse(data) data['count'] = 0 return JsonResponse(data)
def search_by_locker(request, c_id): args = create_args(request) if args['access'] == False: return redirect( Settings.objects.get(key="access denied redirect").value) if args['loged_in'] == False: return redirect("/login/") client = Klienti.objects.get(id=c_id) response = redirect("/") response.set_cookie(key='active_client', value=client.id) return response
def login(request): args = create_args(request) if args['access'] == False: return redirect( Settings.objects.get(key="access denied redirect").value) args.update(csrf(request)) # encript data args['heading'] = "Datubāzes autorizācija" if request.POST: # actions if login Form is submitted username = request.POST.get( 'username', '' ) # usermname <= get variable from Form (name="username"), if not leave blank password = request.POST.get( 'password', '' ) # password <= get variable from Form (name="password"), if not leave blank user = auth.authenticate( username=username, password=password) # new variable --> user from auth system if user is not None: # auth return None if this user does not exit, if not then: auth.login(request, user) # authorizate user from Form try: new_login = Login(event='Ienāca', user=user, ip=get_ip(request)) new_login.save() except: pass # clear COOKIES response = redirect('/') try: response.delete_cookie('active_client') response.delete_cookie('edit_client') response.delete_cookie('new_client') response.delete_cookie('search_client') # !!!! ADD COOKIES TO BE DELETED ON LOG-IN except: pass return response else: # if user does not exist: args['login_error'] = "Lietotājs nav atrasts" return render_to_response('login.html', args) else: # actions if activated hyperlink to login Form return render_to_response('login.html', args)
def add_user(request): args = create_args(request) if args['access'] == False: return redirect (Settings.objects.get( key = "access denied redirect" ).value) if args['loged_in'] == False: return redirect("/login/") if args['admin'] != True: return redirect("/login/") args.update(csrf(request)) # ADD CSRF TOKEN # if request.POST: # return render_to_response ( 'users.html', args )
def remove_from_blacklist(request): args = create_args(request) if args['access'] == False: return redirect (Settings.objects.get( key = "access denied redirect" ).value) # Get Active client from COOKIE if "active_client" in request.COOKIES: try: c_id = int(request.COOKIES.get(str('active_client'))) client = Klienti.objects.get( id = c_id ) if request.POST: client.client_blocked = False client.save() except: pass return redirect("/client/edit/")
def insurance(request): args = create_args(request) if args['access'] == False: return redirect (Settings.objects.get( key = "access denied redirect" ).value) if args['loged_in'] == False: return redirect("/login/") if args['admin'] != True: return redirect("/login/") args['active_tab_7'] = True args['setup_tab_3'] = True # Apdrošinātāji args['insurance'] = Apdrosinataji.objects.all() return render_to_response ( 'settings.html', args )
def settings(request): args = create_args(request) if args['access'] == False: return redirect (Settings.objects.get( key = "access denied redirect" ).value) if args['loged_in'] == False: return redirect("/login/") if args['admin'] != True: return redirect("/login/") args['active_tab_7'] = True args['setup_tab_1'] = True # Main Settings args['settings'] = Settings.objects.all().order_by('key') return render_to_response ( 'settings.html', args )
def client_status(request): args = create_args(request) if args['access'] == False: return redirect (Settings.objects.get( key = "access denied redirect" ).value) if args['loged_in'] == False: return redirect("/login/") if args['admin'] != True: return redirect("/login/") args['active_tab_7'] = True args['setup_tab_4'] = True # Klienti Statusi args['status'] = Statusi.objects.all() return render_to_response ( 'settings.html', args )
def system_users(request): args = create_args(request) if args['access'] == False: return redirect (Settings.objects.get( key = "access denied redirect" ).value) if args['loged_in'] == False: return redirect("/login/") if args['admin'] != True: return redirect("/login/") args.update(csrf(request)) # ADD CSRF TOKEN args['active_tab_7'] = True args['setup_tab_2'] = True # Lietotāji args['users'] = User.objects.all() return render_to_response ( 'users.html', args )
def main(request): args = create_args(request) if args['access'] == False: return redirect (Settings.objects.get( key = "access denied redirect" ).value) if args['loged_in'] == False: return redirect("/login/") if args['admin'] != True: return redirect("/login/") args.update(csrf(request)) # ADD CSRF TOKEN args['active_tab_5'] = True args['ab'] = AbonementType.objects.filter( available=True ).order_by('title') args['today'] = datetime.now() return render_to_response ( 'reports_main.html', args )
def subscription_history(request, pageid = 1, back = 0): args = create_args(request) if args['access'] == False: return redirect (Settings.objects.get( key = "access denied redirect" ).value) if args['loged_in'] == False: return redirect("/login/") args['back_nr'] = int(back) if int(back) == 0: args['back'] = "/client/edit/" else: args['back'] = "/" results_per_page = int(Settings.objects.get( key = "search results on page" ).value) # Get Active client from COOKIE if "active_client" in request.COOKIES: try: c_id = int(request.COOKIES.get(str('active_client'))) cli = Klienti.objects.get( id = c_id ) data = Abonementi.objects.filter( client = cli ).order_by('-purchase_date') # Paginate results if int(pageid) < 1: # negative page number --> 404 return redirect ('/client/edit/') pagecount = int(math.ceil( int(data.count()) / float( results_per_page ))) # integer identical to range by count if int(pageid) > pagecount and int(pageid) > 1: # pageid exceeds pagecount --> 404 return redirect ('/client/edit/') start_obj = int(pageid) * results_per_page - results_per_page # start from image NR end_obj = int(pageid) * results_per_page # end with image NR if end_obj > data.count(): # if end NR exceeds limit set it to end NR end_obj = data.count() args['paginator'] = Paginator( pagecount, pageid ) args['data'] = data[start_obj:end_obj] except: pass return render_to_response ( 'subscription_history.html', args )
def history(request, pageid = 1): args = create_args(request) if args['access'] == False: return redirect (Settings.objects.get( key = "access denied redirect" ).value) if args['loged_in'] == False: return redirect("/login/") results_per_page = int(Settings.objects.get( key = "search results on page" ).value) if "active_client" in request.COOKIES: c_id = int(request.COOKIES.get(str('active_client'))) client = Klienti.objects.get( id = c_id ) try: args['new_data'] = Skapji.objects.get( client = client ) except: pass try: data = Skapji_history.objects.filter( client = client ).order_by('-checkin_time') # Paginate Search results if int(pageid) < 1: # negative page number --> 404 return redirect ('/') pagecount = int(math.ceil( int(data.count()) / float( results_per_page ))) # integer identical to range by count if int(pageid) > pagecount and int(pageid) > 1: # pageid exceeds pagecount --> 404 return redirect ('/') start_obj = int(pageid) * results_per_page - results_per_page # start from image NR end_obj = int(pageid) * results_per_page # end with image NR if end_obj > data.count(): # if end NR exceeds limit set it to end NR end_obj = data.count() args['paginator'] = Paginator( pagecount, pageid ) args['data'] = data[start_obj:end_obj] args['pageid'] = int(pageid) except: pass return render_to_response ( 'lockers_history.html', args )
def locker_checkin(request, gender, locker_nr, abon_id): args = create_args(request) if args['access'] == False: return redirect (Settings.objects.get( key = "access denied redirect" ).value) if args['loged_in'] == False: return redirect("/login/") if "active_client" in request.COOKIES: c_id = int(request.COOKIES.get(str('active_client'))) client = Klienti.objects.get( id = c_id ) try: # !!!!! Test if client is not checked in already !!!!! locker = Skapji.objects.get( client = client ) except: test = True try: # !!!!! Test if locker is available !!!!! locker = Skapji.objects.get( number = locker_nr, locker_type = str(gender) ) test = False if int( locker_nr ) == 0: lockers_zero = Skapji.objects.filter( locker_type = str(gender), number = 0 ).count() if lockers_zero < 5: test = True except: test = True if test: # !!!!! ABONEMENTA Atkārtots TESTS !!!!! check = ActiveSubscription( client ) if check.exists: if check.active.id == int(abon_id): SubscriptionUse( check.active.id ) if "search_client" in request.COOKIES: new_checkin = Skapji( number = locker_nr, locker_type = gender, client = client, no_card = True ) else: new_checkin = Skapji( number = locker_nr, locker_type = gender, client = client, no_card = False ) new_checkin.save() return redirect ('/')
def ab_cancel(request, ab_id, pageid = 1, back = 0): args = create_args(request) if args['access'] == False: return redirect (Settings.objects.get( key = "access denied redirect" ).value) if args['loged_in'] == False: return redirect("/login/") if args['admin'] != True: return redirect("/login/") try: ab = Abonementi.objects.get( id=int(ab_id) ) ab.delete() except: pass try: return redirect ( 'subscr_hist', back=back, pageid=pageid ) except: return redirect ( 'subscr_hist', back=back )
def persons_in_club(request): args = create_args(request) if args['access'] == False: return redirect( Settings.objects.get(key="access denied redirect").value) # LOCKER COLORS FROM SETTINGS args['woman_locker_color'] = Settings.objects.get( key="woman locker color").value args['man_locker_color'] = Settings.objects.get( key="man locker color").value args['active_tab_4'] = True args['data_no_card'] = Skapji.objects.filter( no_card=True).order_by('checkin_time') args['data'] = Skapji.objects.filter( no_card=False).order_by('checkin_time') return render_to_response('in_club.html', args)
def add_to_blacklist(request): args = create_args(request) if args['access'] == False: return redirect (Settings.objects.get( key = "access denied redirect" ).value) # Get Active client from COOKIE if "active_client" in request.COOKIES: try: c_id = int(request.COOKIES.get(str('active_client'))) client = Klienti.objects.get( id = c_id ) if request.POST: reason = request.POST.get('blacklist_reason', '') new_bl = Blacklist( bl_user = args['username'], bl_client = client, bl_data = reason ) new_bl.save() client.client_blocked = True client.save() except: pass return redirect("/client/edit/")
def subscription_unfreeze(request): args = create_args(request) if args['access'] == False: return redirect( Settings.objects.get(key="access denied redirect").value) if args['loged_in'] == False: return redirect("/login/") # Get Active client from COOKIE if "active_client" in request.COOKIES: if True: # try: c_id = int(request.COOKIES.get(str('active_client'))) cli = Klienti.objects.get(id=c_id) # Unfreeze Klienti object cli.frozen = False cli.frozen_from = None cli.frozen_until = None cli.save() # today today = date.today() # Return dates to initial freeze = Abonementu_Iesalde.objects.filter(client=cli) for f in freeze: if f.freeze_from <= today and f.freeze_until >= today: # return redirect ("/client/new/") if f.subscr.active: f.subscr.best_before = f.best_before else: f.subscr.activate_before = f.activate_before f.subscr.save() f.delete() # except: # pass return redirect("/")
def locker_changer(request, gender, locker_nr): args = create_args(request) if args['access'] == False: return redirect( Settings.objects.get(key="access denied redirect").value) if args['loged_in'] == False: return redirect("/login/") if "active_client" in request.COOKIES: c_id = int(request.COOKIES.get(str('active_client'))) client = Klienti.objects.get(id=c_id) try: # !!!!! GET Skapji object client is checked in already !!!!! locker = Skapji.objects.get(client=client) locker.number = locker_nr locker.save() except: pass return redirect('/')
def new_client(request): args = create_args(request) if args['access'] == False: return redirect( Settings.objects.get(key="access denied redirect").value) if args['loged_in'] == False: return redirect("/login/") args.update(csrf(request)) # ADD CSRF TOKEN # Settings args['card_string'] = Settings.objects.get(key="card string").value # Created form POST if request.POST: form = KlientsForm(request.POST, request.FILES) if form.is_valid(): # card_nr = str( request.POST.get('card_nr', '') ) # card_nr_array = Klienti.objects.all().exclude( card_nr = "" ).values('card_nr') # !!!!!!!!!!!!!!!!!!!!!!!!!! # !!!!! CARD TEST HERE !!!!! # !!!!!!!!!!!!!!!!!!!!!!!!!! new_client = form.save() response = redirect("/") response.set_cookie(key='active_client', value=new_client.id) response.set_cookie(key='new_client', value="True", max_age=3) return response else: args['form'] = form return render_to_response('clients_new_client.html', args) args['form'] = KlientsForm args['active_tab_2'] = True return render_to_response('clients_new_client.html', args)
def update_notes(request): args = create_args(request) if args['access'] == False: return redirect (Settings.objects.get( key = "access denied redirect" ).value) # Get Active client from COOKIE if "active_client" in request.COOKIES: try: c_id = int(request.COOKIES.get(str('active_client'))) client = Klienti.objects.get( id = c_id ) if request.POST: new_notes = request.POST.get('notes', '') client.notes = new_notes client.save() response = redirect("/") response.set_cookie( key='notes_updated', value="True", max_age=3 ) return response except: pass return redirect("/")
def add_deposit(request, back): args = create_args(request) if args['access'] == False: return redirect( Settings.objects.get(key="access denied redirect").value) if int(back) == 0: response = redirect("/client/edit/") else: response = redirect("/") # Get Active client from COOKIE if "active_client" in request.COOKIES: try: c_id = int(request.COOKIES.get(str('active_client'))) client = Klienti.objects.get(id=c_id) if request.POST: amount = float( request.POST.get('deposit_add', '').split(" ")[1]) reason = request.POST.get('deposit_reason', '') try: last_amount = float( Deposit.objects.filter( d_client=client).order_by('-d_date')[0].d_remain) except: last_amount = float(0) temp = Deposit(d_user=args['username'], d_client=client, d_reason=reason, d_added=amount, d_remain=last_amount + amount) temp.save() except: pass return response
def deposit_export(request): args = create_args(request) if args['access'] == False: return redirect( Settings.objects.get(key="access denied redirect").value) if args['loged_in'] == False: return redirect("/login/") if args['admin'] != True: return redirect("/login/") args['active_tab_5'] = True args['ab'] = AbonementType.objects.filter(available=True).order_by('title') args['today'] = datetime.now() args.update(csrf(request)) # ADD CSRF TOKEN if request.POST: # BS Report log new_report = Reports(event='Deposit Report', user=args['username']) new_report.save() deposit_raw_data = Deposit.objects.all().order_by("-d_date") response = HttpResponse(content_type='application/ms-excel') response[ 'Content-Disposition'] = 'attachment; filename="deposit.xls"' # DATUMS PIE NOSAUKUMA wb = xlwt.Workbook(encoding='utf-8') ws = wb.add_sheet('Depozīta atlikumi') # Sheet header, first row row_num = 0 font_style = xlwt.XFStyle() font_style.font.bold = True columns = ['Atlikuma laiks', 'Klienta ID', 'Vārds', 'Uzvārds', 'Summa'] for col_num in range(len(columns)): ws.write(row_num, col_num, columns[col_num], font_style) # Sheet body, remaining rows font_style = xlwt.XFStyle() cli = [] # Export Data for row in deposit_raw_data: if row.d_client.id not in cli: cli.append(row.d_client.id) row_num += 1 new_time = row.d_date + timedelta(hours=dst(row.d_date)) ws.write(row_num, 0, new_time.strftime("%Y-%m-%d %H:%M"), font_style) ws.write(row_num, 1, row.d_client.id, font_style) ws.write(row_num, 2, row.d_client.name, font_style) ws.write(row_num, 3, row.d_client.surname, font_style) ws.write(row_num, 4, row.d_remain, font_style) wb.save(response) return response return render_to_response('reports_main.html', args)
def lockers_export(request): args = create_args(request) if args['access'] == False: return redirect (Settings.objects.get( key = "access denied redirect" ).value) if args['loged_in'] == False: return redirect("/login/") if args['admin'] != True: return redirect("/login/") args['active_tab_5'] = True args['ab'] = AbonementType.objects.filter( available=True ).order_by('title') args['today'] = datetime.now() args.update(csrf(request)) # ADD CSRF TOKEN if request.POST: start_str = request.POST.get('loc_start', '') end_str = request.POST.get('loc_end', '') # BS Report log new_report = Reports( event='Lockers Report', event_data=start_str + ' ' + end_str, user=args['username'] ) new_report.save() # convert dates from string to datetime date_error = False try: start_date = datetime.strptime( start_str, '%Y-%m-%d').replace(tzinfo=tz) except: args['loc_start_error'] = True date_error = True try: end_date = datetime.strptime( end_str, '%Y-%m-%d').replace(tzinfo=tz) except: if end_str != "": args['loc_end_error'] = True date_error = True # dates error if date_error == True: return render_to_response ( 'reports_main.html', args ) # set dates date_min = datetime.combine(start_date, time.min).replace(tzinfo=tz) try: date_max = datetime.combine(end_date, time.max).replace(tzinfo=tz) except: date_max = datetime.combine(start_date, time.max).replace(tzinfo=tz) lockers_data = Skapji_history.objects.filter( checkin_time__range=[date_min, date_max] ).order_by('checkin_time') response = HttpResponse(content_type='application/ms-excel') response['Content-Disposition'] = 'attachment; filename="lockers.xls"' # DATUMS PIE NOSAUKUMA ? wb = xlwt.Workbook(encoding='utf-8') ws = wb.add_sheet('Apmeklējums') # Sheet header, first row row_num = 0 font_style = xlwt.XFStyle() font_style.font.bold = True columns = ['Ienākšanas laiks', 'Iziešanas laiks', 'Klienta ID', 'Vārds', 'Uzvārds' ] # 'Skaits', 'Pilnā cena', 'Cena ar atlaidi', 'No depozīta', 'Dāvanu karte', # 'Sedz apdrošināšana', 'Apdrošinātājs', 'Pārskaitījums', 'Gala summa'] for col_num in range(len(columns)): ws.write(row_num, col_num, columns[col_num], font_style) # Sheet body, remaining rows font_style = xlwt.XFStyle() # Export Data for row in lockers_data: row_num += 1 new_time = row.checkin_time + timedelta( hours=dst( row.checkin_time ) ) ws.write(row_num, 0, new_time.strftime("%Y-%m-%d %H:%M"), font_style) new_time = row.checkout_time + timedelta( hours=dst( row.checkout_time ) ) ws.write(row_num, 1, new_time.strftime("%Y-%m-%d %H:%M"), font_style) ws.write(row_num, 2, row.client.id, font_style) ws.write(row_num, 3, row.client.name, font_style) ws.write(row_num, 4, row.client.surname, font_style) wb.save(response) return response return render_to_response ( 'reports_main.html', args )
def locker(request, abon_id): args = create_args(request) if args['access'] == False: return redirect (Settings.objects.get( key = "access denied redirect" ).value) if args['loged_in'] == False: return redirect("/login/") if "active_client" in request.COOKIES: c_id = int(request.COOKIES.get(str('active_client'))) client = Klienti.objects.get( id = c_id ) else: redirect ("/") # DISABLED LOCKERS dml_value = Settings.objects.get( key = "disabled man locker" ).value dwl_value = Settings.objects.get( key = "disabled woman locker" ).value # convert unicode to string dml_value = unicodedata.normalize('NFKD', dml_value).encode('ascii','ignore') dwl_value = unicodedata.normalize('NFKD', dwl_value).encode('ascii','ignore') # split string to array dml = dml_value.split(",") dwl = dwl_value.split(",") # convert arrays to int dml = map(int, dml) dwl = map(int, dwl) args['dm'] = dml args['dw'] = dwl # Abonementa id args['abon_id'] = int(abon_id) # LOCKER COLORS FROM SETTINGS args['woman_locker_color'] = Settings.objects.get( key = "woman locker color" ).value args['man_locker_color'] = Settings.objects.get( key = "man locker color" ).value lockers_filled = [] # !!!!!!!!!!!!!!!! # !!!!! ZERO !!!!! # !!!!!!!!!!!!!!!! lockers_zero = Skapji.objects.filter( locker_type = client.gender, number = 0 ).count() if lockers_zero > 4: lockers_filled.append( 0 ) # ---------------- # get locker numbers in use lockers_temp = Skapji.objects.filter( locker_type = client.gender ).exclude( number = 0 ) for n in lockers_temp: lockers_filled.append( int(n.number) ) # ADD DISABLED LOCKERS if client.gender == "V": lockers_filled = lockers_filled + dml else: lockers_filled = lockers_filled + dwl lockers = [] # MALE LOCKERS if client.gender == "V": for i in range(0, int(Settings.objects.get( key = "man locker count" ).value) + 1 ): if i not in lockers_filled: lockers.append([i,0]) else: lockers.append([i,1]) # FEMALE LOCKERS else: for i in range(0, int(Settings.objects.get( key = "woman locker count" ).value) + 1 ): if i not in lockers_filled: lockers.append([i,0]) else: lockers.append([i,1]) args['lockers'] = lockers args['gender'] = client.gender return render_to_response ( 'locker.html', args )