Esempio n. 1
0
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})
Esempio n. 2
0
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})
Esempio n. 3
0
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})
Esempio n. 4
0
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})
Esempio n. 5
0
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
    })
Esempio n. 6
0
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')
Esempio n. 7
0
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, })
Esempio n. 8
0
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
    })
Esempio n. 9
0
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
    })
Esempio n. 10
0
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})
Esempio n. 11
0
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,
    })
Esempio n. 12
0
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
    })
Esempio n. 13
0
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})
Esempio n. 14
0
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})
Esempio n. 15
0
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)
Esempio n. 16
0
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)
Esempio n. 17
0
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)
Esempio n. 18
0
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
    })
Esempio n. 19
0
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


                  })
Esempio n. 20
0
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
        })