def arsiv_klasorler(request): perm = general_methods.control_access(request) if not perm: logout(request) return redirect('accounts:login') klasor = Aklasor.objects.none() klasor_form = AklasorSearchForm() if request.method == 'POST': name = request.POST.get('name') sirano = request.POST.get('sirano') location = request.POST.get('location') birim = request.POST.get('birim') start = request.POST.get('startyear') finish = request.POST.get('finishyear') active = general_methods.controlGroup(request) if not (name or sirano or location or birim or finish or start): if active != 'Personel': klasor = Aklasor.objects.all() else: klasor =Aklasor.objects.filter(birim__employe=Employe.objects.get(user=request.user)) else: query = Q() if name: query &= Q(name__icontains=name) if sirano: query &= Q(sirano=sirano) if location: query &= Q(location__pk=int(location)) if birim: query &= Q(birim__pk=int(birim)) if start: query &= Q(startyear__gte=start) if finish: query &= Q(finishyear__lte=finish) if active != 'Personel': klasor = Aklasor.objects.filter(query) else: klasor = Aklasor.objects.filter(birim__employe=Employe.objects.get(user=request.user)).filter(query) # # for item in klasor: # parametre = Adosya.objects.filter(klasor=item) # # print(parametre.values_list("title","title")) # beka = { # 'pk': item.pk, # 'name': item.name, # 'parametre': parametre # } # birimler.append(beka) # arama alani yazılacak # if request.method == 'POST': # if category_item_form.is_valid(): # category_item_form.save() # return redirect('sbs:arsiv-birimEkle') return render(request, 'arsiv/KlasorListesi.html', {'klasor': klasor, 'klasor_form': klasor_form})
def add_belt_exam(request): perm = general_methods.control_access(request) active = general_methods.controlGroup(request) if not perm: logout(request) return redirect('accounts:login') exam_form = BeltExamForm(request.POST, request.FILES or None) user = request.user if active == 'KlupUye': sc_user = SportClubUser.objects.get(user=user) clubs = SportsClub.objects.filter(clubUser=sc_user) clubsPk = [] for club in clubs: # print(club.dataAccessControl) clubsPk.append(club.pk) exam_form.fields['sportClub'].queryset = SportsClub.objects.filter(id__in=clubsPk) elif active == 'Yonetim' or active == 'Admin': exam_form.fields['sportClub'].queryset = SportsClub.objects.all() if request.method == 'POST': exam_form = BeltExamForm(request.POST, request.FILES or None) if exam_form.is_valid(): exam = exam_form.save() messages.success(request, 'Sınav başarıyla oluşturuldu') return redirect('sbs:kusak-sinavlari') else: messages.warning(request, 'Alanları Kontrol Ediniz') return render(request, 'kulup/kusak-sinavi-ekle.html', {'exam_form': exam_form})
def return_belt_exams(request): perm = general_methods.control_access(request) active = general_methods.controlGroup(request) if not perm: logout(request) return redirect('accounts:login') user = request.user if active == 'KlupUye': clubuser = SportClubUser.objects.get(user=user) clubs = SportsClub.objects.filter(clubUser=clubuser) clubsPk = [] for club in clubs: clubsPk.append(club.pk) exams = BeltExam.objects.filter(sportClub__in=clubsPk) elif active == 'Yonetim' or active == 'Admin': exams = BeltExam.objects.all() return render(request, 'kulup/kusak-sinavlari.html', {'exams': exams})
def arsiv_birimListesi(request): perm = general_methods.control_access(request) if not perm: logout(request) return redirect('accounts:login') birim_form = AbirimSearchForm() birimler = Abirim.objects.none() if request.method == 'POST': name = request.POST.get('name') active = general_methods.controlGroup(request) if not (name): if active != 'Personel': birimler = Abirim.objects.all() else: birimler = Abirim.objects.filter(employe=Employe.objects.get(user=request.user)) else: query = Q() if name: query &= Q(name__icontains=name) if active != 'Personel': birimler = Abirim.objects.filter(query) else: birimler = Abirim.objects.filter(employe=Employe.objects.get(user=request.user)).filter(query) return render(request, 'arsiv/BirimList.html', {'birimler': birimler, 'birim_form': birim_form})
def updateProfile(request): perm = general_methods.control_access(request) if not perm: logout(request) return redirect('accounts:login') user = request.user user_form = DisabledUserForm(request.POST or None, instance=user) password_form = SetPasswordForm(request.user, request.POST) if request.method == 'POST': if password_form.is_valid(): user.set_password(password_form.cleaned_data['new_password1']) user.save() update_session_auth_hash(request, user) messages.success(request, 'Şifre Başarıyla Güncellenmiştir.') aktif = general_methods.controlGroup(request) if aktif == "Admin": log = str(user.get_full_name()) + " admin sifre guncellendi" log = general_methods.logwrite(request, request.user, log) return redirect('sbs:admin-profil-guncelle') elif aktif == "Arsiv": log = str( user.get_full_name()) + " arsiv yönetici sifre guncellendi" log = general_methods.logwrite(request, request.user, log) return redirect('sbs:evrak-anasayfa') else: messages.warning(request, 'Alanları Kontrol Ediniz') return render(request, 'admin/admin-profil-guncelle.html', { 'user_form': user_form, 'password_form': password_form })
def login(request): if request.user.is_authenticated is True: return redirect('sbs:admin') if request.method == 'POST': username = request.POST.get('username') password = request.POST.get('password') user = auth.authenticate(username=username, password=password) if user is not None: # correct username and password login the user auth.login(request, user) # print(general_methods.get_client_ip(request)) active = general_methods.controlGroup(request) log = general_methods.logwrite(request, request.user, " Giris yapti") # eger user.groups birden fazla ise klup üyesine gönder yoksa devam et if active == 'KlupUye': return redirect('sbs:kulup-uyesi') elif active == 'Antrenor': return redirect('sbs:antrenor') elif active == 'Hakem': return redirect('sbs:hakem') elif active == 'Sporcu': return redirect('sbs:sporcu') elif active == 'Yonetim': return redirect('sbs:federasyon') elif active == 'Admin': return redirect('sbs:admin') elif active == 'Arsiv': return redirect('sbs:evrak-anasayfa') else: return redirect('accounts:logout') else: messages.warning(request, 'Mail Adresi Ve Şifre Uyumsuzluğu') return render(request, 'registration/login.html') return render(request, 'registration/login.html')
def return_clubs(request): perm = general_methods.control_access_klup(request) active = general_methods.controlGroup(request) if not perm: logout(request) return redirect('accounts:login') user = request.user clubs = SportsClub.objects.none() ClupsSearchForm = ClubSearchForm(request.POST) if request.method == 'POST': if ClupsSearchForm.is_valid(): kisi = ClupsSearchForm.cleaned_data.get('kisi') city = ClupsSearchForm.cleaned_data.get('city') name = ClupsSearchForm.cleaned_data.get('name') shortName = ClupsSearchForm.cleaned_data.get('shortName') clubMail = ClupsSearchForm.cleaned_data.get('clubMail') if not (kisi or city or name or shortName or clubMail): if active == 'KlupUye': clubuser = SportClubUser.objects.get(user=user) clubs = SportsClub.objects.filter(clubUser=clubuser).order_by("-pk") elif active == 'Yonetim' or active == 'Admin': clubs = SportsClub.objects.all().order_by("-pk") else: query = Q() if city: query &= Q(communication__city__name__icontains=city) if name: query &= Q(name__icontains=name) if clubMail: query &= Q(clubMail__icontains=clubMail) if shortName: query &= Q(shortName__icontains=shortName) if kisi: query &= Q(clubUser=kisi) if active == 'KlupUye': clubuser = SportClubUser.objects.get(user=user) clubs = SportsClub.objects.filter(clubUser=clubuser).filter(query) elif active == 'Yonetim' or active == 'Admin': clubs = SportsClub.objects.filter(query) return render(request, 'kulup/kulupler.html', {'clubs': clubs, 'ClupsSearchForm': ClupsSearchForm, })
def arsiv_dosyalar(request): perm = general_methods.control_access(request) if not perm: logout(request) return redirect('accounts:login') dosya = Adosya.objects.none() dosya_form = AdosyaFormSearch() klasor_form = AklasorSearchForm() if request.method == 'POST': sirano = request.POST.get('sirano') location = request.POST.get('location') birim = request.POST.get('birim') klasor = request.POST.get('klasor') active = general_methods.controlGroup(request) if not (klasor or sirano or location or birim): if active != 'Personel': dosya = Adosya.objects.all() else: dosya = Adosya.objects.filter( klasor__birim__employe=Employe.objects.get( user=request.user)) else: query = Q() if klasor: query &= Q(klasor__pk=klasor) if sirano: query &= Q(sirano=sirano) if location: query &= Q(klasor__location__pk=location) if birim: query &= Q(klasor__birim__pk=birim) if active != 'Personel': dosya = Adosya.objects.filter(query) else: dosya = Adosya.objects.filter( klasor__birim__employe=Employe.objects.get( user=request.user)).filter(query) return render(request, 'arsiv/DosyaListesi.html', { 'dosya': dosya, 'klasor_form': klasor_form, 'dosya_form': dosya_form })
def aplication(request, pk): perm = general_methods.control_access_klup(request) active = general_methods.controlGroup(request) if not perm: logout(request) return redirect('accounts:login') musabaka = Competition.objects.get(pk=pk) login_user = request.user user = User.objects.get(pk=login_user.pk) weights = Weight.objects.all() if active == 'KlupUye': sc_user = SportClubUser.objects.get(user=user) if sc_user.dataAccessControl == True: if active == 'KlupUye': clubsPk = [] clubs = SportsClub.objects.filter(clubUser=sc_user) for club in clubs: clubsPk.append(club.pk) comAthlete = CompetitionsAthlete.objects.filter( competition=pk, athlete__licenses__sportsClub__in=clubsPk).distinct() else: messages.warning( request, 'Lütfen Eksik olan Sporcu Bilgilerini tamamlayiniz.') return redirect('sbs:musabakalar') elif active == 'Yonetim' or active == 'Admin': comAthlete = CompetitionsAthlete.objects.filter( competition=pk).distinct() elif active == 'Antrenor': coach = Coach.objects.get(user=user) comAthlete = CompetitionsAthlete.objects.filter( competition=pk, athlete__licenses__coach=coach).distinct() return render(request, 'musabaka/basvuru.html', { 'athletes': comAthlete, 'competition': musabaka, 'weights': weights })
def choose_athlete(request, pk): perm = general_methods.control_access(request) active = general_methods.controlGroup(request) if not perm: logout(request) return redirect('accounts:login') login_user = request.user user = User.objects.get(pk=login_user.pk) sinav = BeltExam.objects.get(pk=pk) if active == 'KlupUye': sc_user = SportClubUser.objects.get(user=user) clubsPk = [] clubs = SportsClub.objects.filter(clubUser=sc_user) for club in clubs: clubsPk.append(club.pk) exam_athlete = [] for item in sinav.athletes.all(): exam_athlete.append(item.user.pk) athletes = Athlete.objects.filter(licenses__sportsClub__in=clubsPk).exclude(belts=None).exclude( licenses=None).exclude(beltexam__athletes__user__in=exam_athlete).filter(licenses__branch=sinav.branch, licenses__status='Onaylandı').filter( belts__branch=sinav.branch, belts__status='Onaylandı').distinct() elif active == 'Yonetim' or active == 'Admin': exam_athlete = [] for item in sinav.athletes.all(): exam_athlete.append(item.user.pk) # print(sinav.branch) athletes = Athlete.objects.exclude(belts=None).exclude(licenses=None).exclude( beltexam__athletes__user__in=exam_athlete).filter(licenses__branch=sinav.branch, licenses__status='Onaylandı').filter( belts__branch=sinav.branch, belts__status='Onaylandı') # .exclude(belts__definition__parent_id=None) eklenmeli ama eklendigi zaman kuşaklarindan bir tanesi en üst olunca almıyor if request.method == 'POST': athletes1 = request.POST.getlist('selected_options') if athletes1: for x in athletes1: sinav.athletes.add(x) return redirect('sbs:kusak-sinavi-incele', pk=pk) return render(request, 'kulup/kusak-sınavı-antroner-sec.html', {'athletes': athletes})
def return_claim(request): perm = general_methods.control_access(request) active = general_methods.controlGroup(request) if not perm: logout(request) return redirect('accounts:login') destek_form = DestekSearchform() destek = Claim.objects.none() user_form = UserSearchForm() if request.method == 'POST': destek_form = DestekSearchform(request.POST or None) status = request.POST.get('status') importanceSort = request.POST.get('importanceSort') firstName = unicode_tr(request.POST.get('first_name')).upper() lastName = unicode_tr(request.POST.get('last_name')).upper() if not (status or importanceSort): if active == 'Admin' or active == 'Arsiv': destek = Claim.objects.all() else: query = Q() if status: query &= Q(status=status) if importanceSort: query &= Q(importanceSort=importanceSort) if lastName: query &= Q(last_name__icontains=lastName) if firstName: query &= Q(user__first_name__icontains=firstName) if active == 'Admin' or active == 'Arsiv': destek = Claim.objects.filter(query) return render(request, 'Destek/DestekTalepListesi.html', { 'claims': destek, 'destek_form': destek_form, 'user_form': user_form, })
def return_employes(request): perm = general_methods.control_access(request) if not perm: logout(request) return redirect('accounts:login') members = Employe.objects.none() user_form = UserSearchForm() if request.method == 'POST': user_form = UserSearchForm(request.POST) if user_form.is_valid(): firstName = unicode_tr( user_form.cleaned_data['first_name']).upper() lastName = unicode_tr(user_form.cleaned_data['last_name']).upper() email = user_form.cleaned_data.get('email') active = general_methods.controlGroup(request) if not (firstName or lastName or email): if active != 'Personel': members = Employe.objects.all() else: members = Employe.objects.filter(user=request.user) else: query = Q() if lastName: query &= Q(user__last_name__icontains=lastName) if firstName: query &= Q(user__first_name__icontains=firstName) if email: query &= Q(user__email__icontains=email) if active != 'Personel': members = Employe.objects.filter(query) else: members = Employe.objects.filter( user=request.user).filter(query) return render(request, 'personel/personelListesi.html', { 'members': members, 'user_form': user_form })
def update_belt_exam(request, pk): # print('kusak sinavi düzenle çalisti') perm = general_methods.control_access(request) active = general_methods.controlGroup(request) if not perm: logout(request) return redirect('accounts:login') sinav = BeltExam.objects.get(pk=pk) # license_form = LicenseForm(request.POST or None, request.FILES or None, instance=license,initial={'sportsClub': license.sportsClub}) # print(sinav.sportClub) exam_form = BeltExamForm(request.POST or None, request.FILES or None, instance=sinav, initial={'sportsClub': sinav.sportClub.name}) # print(exam_form) user = request.user if active == 'KlupUye': sc_user = SportClubUser.objects.get(user=user) clubs = SportsClub.objects.filter(clubUser=sc_user) clubsPk = [] for club in clubs: clubsPk.append(club.pk) exam_form.fields['sportClub'].queryset = SportsClub.objects.filter(id__in=clubsPk) elif active == 'Yonetim' or active == 'Admin': exam_form.fields['sportClub'].queryset = SportsClub.objects.all() if request.method == 'POST': exam_form = BeltExamForm(request.POST, request.FILES or None) if exam_form.is_valid(): exam = exam_form.save() messages.success(request, 'Sınav başarıyla güncellendi') return redirect('sbs:kusak-sinavlari') else: messages.warning(request, 'Alanları Kontrol Ediniz') return render(request, 'kulup/kusak-sinavi-guncelle.html', {'exam_form': exam_form})
def return_club_person(request): perm = general_methods.control_access_klup(request) active = general_methods.controlGroup(request) if not perm: logout(request) return redirect('accounts:login') user_form = UserSearchForm() user = request.user club_user_array = SportClubUser.objects.none() if request.method == 'POST': user_form = UserSearchForm(request.POST) sportsclup = request.POST.get('sportsClub') if user_form.is_valid(): firstName = unicode_tr(user_form.cleaned_data['first_name']).upper() lastName = unicode_tr(user_form.cleaned_data['last_name']).upper() email = user_form.cleaned_data.get('email') if not (firstName or lastName or email or sportsclup): club_user_array = [] if active == 'KlupUye': clubuser = SportClubUser.objects.get(user=user) clubs = SportsClub.objects.filter(clubUser=clubuser) clubsPk = [] for club in clubs: clubsPk.append(club.pk) club_user_array = SportClubUser.objects.filter(sportsclub__in=clubsPk).distinct() elif active == 'Yonetim' or active == 'Admin': club_user_array = SportClubUser.objects.all() else: query = Q() if lastName: query &= Q(user__last_name__icontains=lastName) if firstName: query &= Q(user__first_name__icontains=firstName) if email: query &= Q(user__email__icontains=email) if sportsclup: query &= Q(sportsclub__name__icontains=sportsclup) club_user_array = [] if active == 'KlupUye': clubuser = SportClubUser.objects.get(user=user) clubs = SportsClub.objects.filter(clubUser=clubuser) clubsPk = [] for club in clubs: clubsPk.append(club.pk) club_user_array = SportClubUser.objects.filter(sportsclub__in=clubsPk).filter(query).distinct() elif active == 'Yonetim' or active == 'Admin': club_user_array = SportClubUser.objects.filter(query).distinct() sportclup = SearchClupForm(request.POST, request.FILES or None) if active == 'KlupUye': sc_user = SportClubUser.objects.get(user=user) clubs = SportsClub.objects.filter(clubUser=sc_user) clubsPk = [] for club in clubs: clubsPk.append(club.pk) sportclup.fields['sportsClub'].queryset = SportsClub.objects.filter(id__in=clubsPk) elif active == 'Yonetim' or active == 'Admin': sportclup.fields['sportsClub'].queryset = SportsClub.objects.all() return render(request, 'kulup/kulup-uyeleri.html', {'athletes': club_user_array, 'user_form': user_form, 'Sportclup': sportclup})
def return_competition_ajax(request): active = general_methods.controlGroup(request) # print('ben geldim') login_user = request.user user = User.objects.get(pk=login_user.pk) # /datatablesten gelen veri kümesi datatables degiskenine alindi if request.method == 'GET': datatables = request.GET pk = request.GET.get('cmd').strip() elif request.method == 'POST': datatables = request.POST # print(datatables) # print("post islemi gerceklesti") # /Sayfanın baska bir yerden istenmesi durumunda degerlerin None dönmemesi icin degerler try boklari icerisine alindi try: draw = int(datatables.get('draw')) # print("draw degeri =", draw) # Ambil start start = int(datatables.get('start')) # print("start degeri =", start) # Ambil length (limit) length = int(datatables.get('length')) # print("lenght degeri =", length) # Ambil data search search = datatables.get('search[value]') # print("search degeri =", search) except: draw = 1 start = 0 length = 10 modeldata = Competition.objects.none() if length == -1: print() # if user.groups.filter(name='KulupUye'): # sc_user = SportClubUser.objects.get(user=user) # clubsPk = [] # clubs = SportsClub.objects.filter(clubUser=sc_user) # for club in clubs: # clubsPk.append(club.pk) # # modeldata = Athlete.objects.filter(licenses__sportsClub__in=clubsPk).distinct() # total = modeldata.count() # # elif user.groups.filter(name__in=['Yonetim', 'Admin']): # modeldata = Athlete.objects.all() # total = Athlete.objects.all().count() else: if search: modeldata = Competition.objects.filter(Q(name=search)) total = modeldata.count() else: # compAthlete=CompAthlete.objects.filter(competition=competition) # athletes = [] # for comp in compAthlete: # if comp.athlete: # athletes.append(comp.athlete.pk) if active == 'KlupUye': # bu alan kontrol edilecek modeldata = Competition.objects.filter(year=pk) total = modeldata.count() # print('klüp üye ') # sc_user = SportClubUser.objects.get(user=user) # clubsPk = [] # clubs = SportsClub.objects.filter(clubUser=sc_user) # for club in clubs: # clubsPk.append(club.pk) # modeldata = Athlete.objects.exclude(pk__in=athletes).filter(licenses__sportsClub__in=clubsPk).distinct()[start:start + length] # total = mAthlete.objects.exclude(pk__in=athletes).filter(licenses__sportsClub__in=clubsPk).distinct().count() elif active == 'Yonetim' or active == 'Admin': modeldata = Competition.objects.filter(year=pk) total = modeldata.count() say = start + 1 start = start + length page = start / length beka = [] for item in modeldata: data = { 'say': say, 'pk': item.pk, 'name': item.name, } beka.append(data) say += 1 response = { 'data': beka, 'draw': draw, 'recordsTotal': total, 'recordsFiltered': total, } return JsonResponse(response)
def return_athletesdeneme(request): active = general_methods.controlGroup(request) login_user = request.user user = User.objects.get(pk=login_user.pk) # print("ajax istenilen yere geldi") # /datatablesten gelen veri kümesi datatables degiskenine alindi if request.method == 'GET': datatables = request.GET # print("get islemi gerceklesti") elif request.method == 'POST': datatables = request.POST # print("post islemi gerceklesti") # /Sayfanın baska bir yerden istenmesi durumunda degerlerin None dönmemesi icin degerler try boklari icerisine alindi try: draw = int(datatables.get('draw')) # print("draw degeri =", draw) # Ambil start start = int(datatables.get('start')) # print("start degeri =", start) # Ambil length (limit) length = int(datatables.get('length')) # print("lenght degeri =", length) # Ambil data search search = datatables.get('search[value]') # print("search degeri =", search) except: draw = 1 start = 0 length = 10 if length == -1: if active == 'KlupUye': sc_user = SportClubUser.objects.get(user=user) clubsPk = [] clubs = SportsClub.objects.filter(clubUser=sc_user) for club in clubs: clubsPk.append(club.pk) modeldata = Athlete.objects.filter(licenses__sportsClub__in=clubsPk).distinct() total = modeldata.count() elif active == 'Yonetim' or active == 'Admin': modeldata = Athlete.objects.all() total = Athlete.objects.count() else: if search: modeldata = Athlete.objects.filter( Q(user__last_name__icontains=search) | Q(user__first_name__icontains=search) | Q( user__email__icontains=search)) total = modeldata.count(); else: if active == 'KlupUye': sc_user = SportClubUser.objects.get(user=user) clubsPk = [] clubs = SportsClub.objects.filter(clubUser=sc_user) for club in clubs: clubsPk.append(club.pk) modeldata = Athlete.objects.filter(licenses__sportsClub__in=clubsPk).distinct()[start:start + length] total = modeldata.count() elif active == 'Yonetim' or active == 'Admin': modeldata = Athlete.objects.all()[start:start + length] total = Athlete.objects.count() # /Sayfalama islemleri ile gerekli bir sekil de istenilen sayfanın gönderilmesi gerçeklesitirildi. say = start + 1 start = start + length page = start / length beka = [] for item in modeldata: brans = '-' klup = '-' kusak = '-' # license=item.licenses.last().sportsClub.name # if item.licenses.count() > 0: # if license: # klup = item.licenses.last().sportsClub.name # # if item.licenses.last().branch is not None: # brans = item.licenses.last().branch data = { 'say': say, 'pk': item.pk, 'name': item.user.first_name + item.user.last_name, 'user': item.person.birthDate, # 'klup': klup, # 'brans': brans, } beka.append(data) say += 1 # print('hata geliyorum demez') # print(json.dumps(beka)) # veri = [item.to_dict_json(say) for item in modeldata ] # veri=serializers.serialize('json',modeldata) # print('veri=',veri) # paginator = Paginator(beka, length) # print("paginator=", paginator) # veri = paginator.page(page).object_list # # veri=modeldata. # # print('veri2=',veri) # print('veri3)',serializers.serialize('json',modeldata)) # # print(total) # Veri istenildigi gibi paketlendi ve gönderildi response = { 'data': beka, 'draw': draw, 'recordsTotal': total, 'recordsFiltered': total, } return JsonResponse(response)
def return_sporcu(request): active = general_methods.controlGroup(request) # print('ben geldim') login_user = request.user user = User.objects.get(pk=login_user.pk) # /datatablesten gelen veri kümesi datatables degiskenine alindi if request.method == 'GET': datatables = request.GET pk = request.GET.get('cmd') # print('pk beklenen deger =',pk) competition = Competition.objects.get(pk=pk) # kategori = CompetitionCategori.objects.get(pk=request.GET.get('cmd')) elif request.method == 'POST': datatables = request.POST # print(datatables) # print("post islemi gerceklesti") # /Sayfanın baska bir yerden istenmesi durumunda degerlerin None dönmemesi icin degerler try boklari icerisine alindi try: draw = int(datatables.get('draw')) # print("draw degeri =", draw) # Ambil start start = int(datatables.get('start')) # print("start degeri =", start) # Ambil length (limit) length = int(datatables.get('length')) # print("lenght degeri =", length) # Ambil data search search = datatables.get('search[value]') # print("search degeri =", search) except: draw = 1 start = 0 length = 10 if length == -1: athletes = [] for comp in CompetitionsAthlete.objects.filter( competition=competition): if comp.athlete: athletes.append(comp.athlete.pk) if active == 'KlupUye': sc_user = SportClubUser.objects.get(user=user) clubsPk = [] clubs = SportsClub.objects.filter(clubUser=sc_user) for club in clubs: clubsPk.append(club.pk) modeldata = Athlete.objects.exclude(pk__in=athletes).filter( licenses__sportsClub__in=clubsPk).distinct() total = modeldata.count() elif active == 'Yonetim' or active == 'Admin': modeldata = Athlete.objects.exclude(pk__in=athletes) total = Athlete.objects.exclude(pk__in=athletes).count() elif active == 'Antrenor': modeldata = Athlete.objects.filter( licenses__coach__user=user).exclude( pk__in=athletes).distinct()[start:start + length] total = Athlete.objects.filter(licenses__coach__user=user).exclude( pk__in=athletes).distinct().count() else: if search: modeldate = Athlete.objects.none() compAthlete = CompetitionsAthlete.objects.filter( competition=competition) athletes = [] modeldata = Athlete.objects.filter( Q(user__last_name__icontains=search) | Q(user__first_name__icontains=search) | Q(user__email__icontains=search)) for comp in compAthlete: if comp.athlete: athletes.append(comp.athlete.pk) if active == 'KlupUye': sc_user = SportClubUser.objects.get(user=user) clubsPk = [] clubs = SportsClub.objects.filter(clubUser=sc_user) for club in clubs: clubsPk.append(club.pk) modeldata = modeldata.exclude(pk__in=athletes).filter( licenses__sportsClub__in=clubsPk).distinct() total = modeldata.exclude(pk__in=athletes).filter( licenses__sportsClub__in=clubsPk).distinct().count() elif active == 'Yonetim' or active == 'Admin': modeldata = modeldata.exclude(pk__in=athletes) elif active == 'Antrenor': modeldata = modeldata.filter( licenses__coach__user=user).distinct() total = modeldata.count() else: compAthlete = CompetitionsAthlete.objects.filter( competition=competition) athletes = [] for comp in compAthlete: if comp.athlete: athletes.append(comp.athlete.pk) # print(comp.athlete) if active == 'KlupUye': sc_user = SportClubUser.objects.get(user=user) clubsPk = [] clubs = SportsClub.objects.filter(clubUser=sc_user) for club in clubs: clubsPk.append(club.pk) modeldata = Athlete.objects.exclude(pk__in=athletes).filter( licenses__sportsClub__in=clubsPk).distinct()[start:start + length] total = Athlete.objects.exclude(pk__in=athletes).filter( licenses__sportsClub__in=clubsPk).distinct().count() elif active == 'Yonetim' or active == 'Admin': modeldata = Athlete.objects.exclude( pk__in=athletes)[start:start + length] total = Athlete.objects.exclude( pk__in=athletes).distinct().count() elif active == 'Antrenor': modeldata = Athlete.objects.filter( licenses__coach__user=user).distinct()[start:start + length] total = Athlete.objects.filter( licenses__coach__user=user).distinct().count() say = start + 1 start = start + length page = start / length beka = [] for item in modeldata: klup = '' try: if item.licenses: for lisans in item.licenses.all(): if lisans.sportsClub: klup = str(lisans.sportsClub) + "<br>" + klup except: klup = '' if item.person.birthDate is not None: date = item.person.birthDate.strftime('%d/%m/%Y') else: date = '' data = { 'say': say, 'pk': item.pk, 'name': item.user.first_name + ' ' + item.user.last_name, 'birthDate': date, 'klup': klup, } beka.append(data) say += 1 response = { 'data': beka, 'draw': draw, 'recordsTotal': total, 'recordsFiltered': total, } return JsonResponse(response)
def arsiv_dosyaEkle_full(request): perm = general_methods.control_access(request) if not perm: logout(request) return redirect('accounts:login') active = general_methods.controlGroup(request) employe=Employe.objects.none() if active != 'Personel': units = Abirim.objects.all() else: units=Abirim.objects.filter(employe=Employe.objects.get(user=request.user).pk) employe = Employe.objects.get(user=request.user) unit_form = AbirimForm() klasor_form = AklasorForm() if request.method == 'POST': if request.POST.get("modaldosyaaddklasor"): form = AdosyaForm(int(request.POST.get("modaldosyaaddklasor")), request.POST) if form.is_valid(): pk = form.save(int(request.POST.get("modaldosyaaddklasor"))) return redirect('sbs:dosya-guncelle', pk) elif request.POST.get("dosyaupdatepk"): dosya = Adosya.objects.get(pk=int(request.POST.get("dosyaupdatepk"))) dosyaparametre = AdosyaParametre.objects.filter(dosya=dosya) dosya.sirano = request.POST.get('sirano') birimparametre = AbirimParametre.objects.filter(birim=dosya.klasor.birim) for item in birimparametre: if dosyaparametre.filter(parametre=item): deger = dosyaparametre.filter(parametre=item)[0] if request.POST.get(deger.parametre.title): deger.value = request.POST.get(deger.parametre.title) deger.save() else: dosyaParametre = AdosyaParametre( value=str(request.POST.get(item.title)), dosya=dosya, ) dosyaParametre.parametre = item dosyaParametre.save() dosya.save() return redirect('sbs:dosya-guncelle', dosya.pk) elif request.POST.get("dosya_id"): if Adosya.objects.filter(pk=int(request.POST.get("dosya_id"))): dosya = Adosya.objects.get(pk=int(request.POST.get("dosya_id"))) if request.FILES.getlist('file'): for item in request.FILES.getlist('file'): evrak = Aevrak(file=item) evrak.save() dosya.evrak.add(evrak) dosya.save() return redirect('sbs:dosya-guncelle', pk=dosya.pk) return render(request, 'arsiv/EvrakEkleSec.html', { 'units': units, 'unit_form': unit_form, 'klasor_form': klasor_form, 'employe':employe })
def birimSearch(request): active = general_methods.controlGroup(request) dosya = Adosya.objects.none() units = Abirim.objects.none() klasor = Aklasor.objects.none() klasor_form = AklasorSearchForm() dosyadizi = [] dosyaX=[] backdata = None backsearch = None employe=Employe.objects.none() if active == 'Personel': employe = Employe.objects.get(user=request.user) if request.method == 'POST': name = request.POST.get('klasorname') sirano = request.POST.get('klasorsirano') location = request.POST.get('klasorlocation') birim = request.POST.get('klasorbirim') start = request.POST.get('klasorstartyear') finish = request.POST.get('klasorfinishyear') dosyaparametre=AdosyaParametre.objects.none() # genel arama alani if request.POST.get('search'): search = unicode_tr(request.POST.get('search')).upper() backdata = search backsearch = "genelArama" # print('genel arama ') if active != 'Personel': units |= Abirim.objects.filter(name__icontains=search) klasor |= Aklasor.objects.filter(name__icontains=search) try: dosya |= Adosya.objects.filter(sirano=search) except: print('Sayisal degil') if klasor: for item in klasor: units |= Abirim.objects.filter(pk=item.birim.pk) if dosya: for item in dosya: klasor |= Aklasor.objects.filter(pk=item.klasor.pk) units |= Abirim.objects.filter(pk=item.klasor.birim.pk) dosyaparametre = AdosyaParametre.objects.filter(value__contains=search) else: employe=Employe.objects.get(user=request.user) units |= Abirim.objects.filter(employe=employe).filter(name__icontains=search) klasor |= Aklasor.objects.filter(birim__employe=employe).filter(name__icontains=search) try: dosya |= Adosya.objects.filter(klasor__birim__employe=employe).filter(sirano=search) except: print('Sayisal degil') if klasor: for item in klasor: units |= Abirim.objects.filter(employe=employe).filter(pk=item.birim.pk) if dosya: for item in dosya: klasor |= Aklasor.objects.filter(birim__employe=employe).filter(pk=item.klasor.pk) units |= Abirim.objects.filter(employe=employe).filter(pk=item.klasor.birim.pk) dosyaparametre = AdosyaParametre.objects.filter(value__contains=search) if dosyaparametre: for item in dosyaparametre: dosya |= Adosya.objects.filter(pk=int(item.dosya.pk)) klasor |= Aklasor.objects.filter(pk=item.dosya.klasor.pk) units |= Abirim.objects.filter(pk=item.dosya.klasor.birim.pk) beka = { 'pk': item.dosya.pk, 'sirano': item.dosya.sirano, 'parametre': search + '/' + item.parametre.title, 'klasor_id': item.dosya.klasor.pk, 'parametre':item.parametre.title, 'birim':item.parametre.birim.pk } dosyadizi.append(beka) if dosya: test=[] for item in dosya: test.append(item.pk) for item in AdosyaParametre.objects.filter(dosya__in=test): beka = { 'pk': item.dosya.pk, 'sirano': item.dosya.sirano, 'birim':item.parametre.birim.pk, 'value':item.value, 'title':item.parametre.title, } dosyaX.append(beka) # dosya arama alani # if request.POST.get('searchdosya'): # dosya |=Adosya.objects.filter(sirano=request.POST.get('searchdosya')) # for item in dosya: # klasor |= Aklasor.objects.filter(pk=item.klasor.pk) # units |= Abirim.objects.filter(pk=item.klasor.birim.pk) # birim arama alani elif request.POST.get('searchbirim'): # print('birim arama ') units=Abirim.objects.none() if active != 'Personel': units = Abirim.objects.filter(pk=request.POST.get('searchbirim')) else: units = Abirim.objects.filter(employe=Employe.objects.filter(user__last_name__icontains=request.user)).filter(pk=request.POST.get('searchbirim')) backdata = Abirim.objects.get(pk=request.POST.get('searchbirim')).pk backsearch = "birimArama" birimparametre = AbirimParametre.objects.filter(birim__id=int(request.POST.get('searchbirim'))) if birimparametre: for item in birimparametre: if request.POST.get(item.title): # print(request.POST.get(item.title)) dosyaParametre = AdosyaParametre.objects.filter( value__icontains=unicode_tr(request.POST.get(item.title)).upper()) for dosyapara in dosyaParametre: dosya |= Adosya.objects.filter(pk=int(dosyapara.dosya.pk)) klasor |= Aklasor.objects.filter(pk=dosyapara.dosya.klasor.pk) beka = { 'pk': dosyapara.dosya.pk, 'sirano': dosyapara.dosya.sirano, 'parametre': unicode_tr( request.POST.get(item.title)).upper() + '/' + dosyapara.parametre.title, 'klasor_id': dosyapara.dosya.klasor.pk } dosyadizi.append(beka) if not (klasor): if active != 'Personel': klasor = Aklasor.objects.filter(birim=Abirim.objects.get(pk=request.POST.get('searchbirim'))) dosya = Adosya.objects.filter(klasor__birim__pk=request.POST.get('searchbirim')) else: klasor = Aklasor.objects.filter(birim__employe=Employe.objects.filter(user=request.user)).filter(birim=Abirim.objects.get(pk=request.POST.get('searchbirim'))) dosya = Adosya.objects.filter(klasor__birim__employe=Employe.objects.get(user=request.user)).filter(klasor__birim__pk=request.POST.get('searchbirim')) # klasör arama alani elif (name or sirano or location or birim or start or finish): backdata = name + "/" + sirano + "/" + location + "/" + birim backsearch = "searchKlasor" # print('klasor arama ') query = Q() if name: query &= Q(name__icontains=name) if sirano: query &= Q(sirano=sirano) if location: query &= Q(location__pk=int(location)) if birim: query &= Q(birim__pk=int(birim)) if start: query &= Q(startyear=int(start)) if finish: query &= Q(finishyear=int(finish)) if active != 'Personel': klasor |= Aklasor.objects.filter(query) else: klasor |= Aklasor.objects.filter(birim__employe=Employe.objects.get(user=request.user)).filter(query) for item in klasor: units |= Abirim.objects.filter(pk=item.birim.pk) #seçim olmazsa hepsini getir else: if active != 'Personel': units = Abirim.objects.all() klasor = Aklasor.objects.all() dosya = Adosya.objects.all() else: employe=Employe.objects.get(user=request.user) units |= Abirim.objects.filter(employe=employe) klasor |= Aklasor.objects.filter(birim__employe=employe) dosya = Adosya.objects.filter(klasor__birim__employe=employe) # if len(dosyadizi) == 0: # for item in dosya.distinct(): # if AdosyaParametre.objects.filter(dosya=item): # test = AdosyaParametre.objects.filter(dosya=item)[0] # # print(test.parametre) # beka = { # 'pk': item.pk, # 'sirano': item.sirano, # 'klasor_id': item.klasor.pk # } # dosyadizi.append(beka) # print(dosyadizi) return render(request, "arsiv/Arama.html", { 'units': units.distinct(), 'klasor': klasor.distinct(), # 'files': dosyadizi, 'dosya': dosya, 'klasor_form': klasor_form, 'backdata': backdata, 'backsearch': backsearch, 'employe':employe, 'dosyadizi':dosyadizi, 'dosyaX':dosyaX })
def return_club_user_dashboard(request): active = general_methods.controlGroup(request) perm = general_methods.control_access_klup(request) # x = general_methods.import_csv() if not perm: logout(request) return redirect('accounts:login') login_user = request.user user = User.objects.get(pk=login_user.pk) current_user = request.user clubuser = SportClubUser.objects.get(user=current_user) club = SportsClub.objects.none() if SportsClub.objects.filter(clubUser=clubuser): club = SportsClub.objects.filter(clubUser=clubuser)[0] total_club_user = 0 total_coach = 0 if SportsClub.objects.filter(clubUser=clubuser): total_club_user = club.clubUser.count() total_coach = Coach.objects.filter(sportsclub=club).count() sc_user = SportClubUser.objects.get(user=user) clubsPk = [] clubs = SportsClub.objects.filter(clubUser=sc_user) for club in clubs: clubsPk.append(club.pk) total_athlete = Athlete.objects.filter( licenses__sportsClub__in=clubsPk).distinct().count() # Sporcu bilgilerinde eksik var mı diye control athletes = Athlete.objects.none() if active == 'KlupUye': sc_user = SportClubUser.objects.get(user=user) if sc_user.dataAccessControl == False or sc_user.dataAccessControl == None: clubsPk = [] clubs = SportsClub.objects.filter(clubUser=sc_user) for club in clubs: if club.dataAccessControl == False or club.dataAccessControl is None: clubsPk.append(club.pk) # print(len(clubsPk)) if len(clubsPk) != 0: athletes = Athlete.objects.filter( licenses__sportsClub__in=clubsPk).distinct() athletes = athletes.filter( user__last_name='' ) | athletes.filter(user__first_name='') | athletes.filter( user__email='' ) | athletes.filter(person__tc='') | athletes.filter( person__birthDate=None) | athletes.filter( person__gender=None) | athletes.filter( person__birthplace='') | athletes.filter( person__motherName='') | athletes.filter( person__fatherName='') | athletes.filter( communication__city__name='' ) | athletes.filter( communication__country__name='') # false degerinde clubun eksigi yok anlamında kulanilmistir. for club in clubs: if athletes: club.dataAccessControl = False club.save() else: club.dataAccessControl = True club.save() if athletes: sc_user.dataAccessControl = False else: sc_user.dataAccessControl = True sc_user.save() else: sc_user.dataAccessControl = True sc_user.save() return render( request, 'anasayfa/kulup-uyesi.html', { 'total_club_user': total_club_user, 'total_coach': total_coach, 'total_athlete': total_athlete, 'athletes': athletes })