Ejemplo n.º 1
0
def addtrainess(request):
    data = {}
    now = datetime.date(datetime.now())
    if UserProfileOPS.is_authorized_inst(
            request.user.userprofile) and request.site.event_start_date > now > request.site.application_end_date:
        data['form'] = AddTrainessForm(request=request)
        data['note'] = "Kursunuza eklemek istediğiniz katilimciyi seçin (E-posta adresine göre)"
        if "add" in request.POST:
            data['form'] = AddTrainessForm(request.POST, request=request)
            if data['form'].is_valid():
                tcourserecord = data['form'].save(commit=False)
                tcourserecord.preference_order = 1
                tcourserecord.trainess_approved = True
                tcourserecord.approved = True
                tcourserecord.save()
                notestr = "Bu kullanicinin %s kursu tercihi eğitmen tarafından eklendi." % tcourserecord.course.name
                tnote = TrainessNote(note=notestr, note_from_profile=request.user.userprofile,
                                     note_to_profile=tcourserecord.trainess,
                                     site=tcourserecord.course.site, note_date=timezone.now(), label="tercih")
                tnote.save()
                data['note'] = "Form kaydedildi. Eklediğiniz katılımcıları 1. tercih listesinde görüntüleyebilirsiniz."
                log.info("%s kullanicisi %s kullanicisini %s kursuna ekledi." % (
                    request.user.username, tcourserecord.trainess.user.username, tcourserecord.course.name),
                         extra=request.log_extra)
            else:
                data['note'] = "Form aşağıdaki sebeplerden dolayı kaydedilemedi."
        elif "cancel" in request.POST:
            return redirect("selectcoursefcp")
        return render(request, 'training/addtrainess.html', data)
    else:
        return redirect("selectcoursefcp")
Ejemplo n.º 2
0
def addtrainess(request):
    d = {'clientip': request.META['REMOTE_ADDR'], 'user': request.user}
    data = getsiteandmenus(request)
    now = datetime.date(datetime.now())
    if UserProfileOPS.is_authorized_inst(request.user.userprofile) and data['site'].event_start_date > now > data[
        'site'].application_end_date:
        data['form'] = AddTrainessForm(ruser=request.user)
        data['note'] = "Kursunuza eklemek istediğiniz katilimciyi seçin (E-posta adresine göre)"
        if "add" in request.POST:
            data['form'] = AddTrainessForm(request.POST, ruser=request.user)
            if data['form'].is_valid():
                tcourserecord = data['form'].save(commit=False)
                tcourserecord.preference_order = 1
                tcourserecord.trainess_approved = True
                tcourserecord.approved = True
                tcourserecord.save()
                notestr = "Bu kullanicinin %s kursu tercihi eğitmen tarafından eklendi." % tcourserecord.course.name
                note = TrainessNote(note=notestr, note_from_profile=request.user.userprofile,
                                    note_to_profile=tcourserecord.trainess,
                                    site=tcourserecord.course.site, note_date=timezone.now(), label="tercih")
                note.save()
                data['note'] = "Form kaydedildi. Eklediğiniz katılımcıları 1. tercih listesinde görüntüleyebilirsiniz."
                log.info("%s kullanicisi %s kullanicisini %s kursuna ekledi." % (
                    request.user.username, tcourserecord.trainess.user.username, tcourserecord.course.name), extra=d)
            else:
                data['note'] = "Form aşağıdaki sebeplerden dolayı kaydedilemedi."
        elif "cancel" in request.POST:
            return redirect("controlpanel")
        return render_to_response('training/addtrainess.html', data, context_instance=RequestContext(request))
    else:
        return redirect("controlpanel")
Ejemplo n.º 3
0
def cancel_all_prefs(trainess, cancelnote, site, ruser, d):
    trainess_course_records = TrainessCourseRecord.objects.filter(
        course__site=site, trainess=trainess)
    now = datetime.date.today()
    try:
        context = {
            "trainess": trainess,
            "site": site,
            "cancelnote": cancelnote
        }
        try:
            context['recipientlist'] = REPORT_RECIPIENT_LIST
            context['course_prefs'] = trainess_course_records
            approvedpref = TrainessCourseRecord.objects.filter(
                course__site=site,
                trainess=trainess,
                approved=True,
                consentemailsent=True)
            if site.application_end_date < now < site.event_start_date:
                if approvedpref:
                    context['recipientlist'].extend(
                        approvedpref[0].course.authorized_trainer.all(
                        ).values_list('user__username', flat=True))
            send_email_by_operation_name(context, "notice_for_canceled_prefs")
            context['recipientlist'] = [trainess.user.email]
            send_email_by_operation_name(context, "notice_for_canceled_prefs")
            trainess_course_records.delete()
        except Exception as e:
            log.error('Error on line {}'.format(sys.exc_info()[-1].tb_lineno),
                      extra=d)
            log.error(e.message, extra=d)
            return 0
        if site.application_end_date < now:
            remaining_days = int((site.event_start_date - now).days)
            notestr = "Kursların başlamasına %d gun kala tüm başvurularını iptal etti." % remaining_days
            if approvedpref:
                # Kullanicinin tercihi kursa kaç gün kala kabul görmüş
                daysbetweenapproveandevent = int(
                    (site.event_start_date -
                     approvedpref[0].instapprovedate).days)
                notestr += "\nTercihi kursun başlamasına %d gün kala kabul edilmiş." % daysbetweenapproveandevent
        else:
            notestr = "Kullanici tercihlerini iptal etti"
        if cancelnote:
            notestr += "\nİptal Sebebi:%s" % cancelnote
        if notestr:
            note = TrainessNote(note=notestr,
                                note_from_profile=ruser.userprofile,
                                note_to_profile=trainess,
                                site=site,
                                note_date=now,
                                label="sistem")
            note.save()
        return 1
    except Exception as e:
        log.error('Error on line {}'.format(sys.exc_info()[-1].tb_lineno),
                  extra=d)
        log.error(e.message, extra=d)
        return 2
Ejemplo n.º 4
0
def karalisteimport():
    from userprofile.models import UserProfile, TrainessNote
    from abkayit.models import Site
    from datetime import datetime
    # with open("karaliste.csv.bk") as f:
    with open("blacklist_with_3_name") as f:
        blacklisteduser = f.readlines()
        for user in blacklisteduser:
            userfields = user.split(",")
            userobj = None
            if userfields[1] and userfields[1] != "-":
                userobj = UserProfile.objects.filter(tckimlikno=userfields[1])
            if not userobj and userfields[2] and userfields[2] != "-":
                userobj = UserProfile.objects.filter(
                    user__username=userfields[2])
            if userobj:
                site = Site.objects.get(name=userfields[3], year=userfields[4])
                if site:
                    #                    trainessnote = TrainessNote(site=site, note_to_profile=userobj[0],
                    #                                                note_from_profile=UserProfile.objects.get(
                    #                                                    user__username="******"), label="sistem",
                    #                                                note=userfields[5])
                    #                    trainessnote.save()
                    print "*******"
                    print userfields[0]
                    print userobj
                    pass
                else:
                    print "******* Profil var site yok"
                    print userfields[0]
                    print userobj
            else:
                name = userfields[0].split(" ")[0] + " " + userfields[0].split(
                    " ")[1]
                surname = userfields[0].split(" ")[2]
                userobj2 = UserProfile.objects.filter(user__first_name=name,
                                                      user__last_name=surname)
                if userobj2:
                    site = Site.objects.get(name=userfields[3],
                                            year=userfields[4])
                    if site:
                        trainessnote = TrainessNote(
                            site=site,
                            note_to_profile=userobj2[0],
                            note_from_profile=UserProfile.objects.get(
                                user__username="******"),
                            label="sistem",
                            note=userfields[5])
                        trainessnote.save()
                        print "*******"
                        print userfields[0]
                        print userobj2
                        # pass
                    else:
                        print "******* Profil var site yok"
                        print userfields[0]
                        print userobj2
Ejemplo n.º 5
0
def karalisteimport():
    from userprofile.models import UserProfile, TrainessNote
    from abkayit.models import Site
    from datetime import datetime
    # with open("karaliste.csv.bk") as f:
    with open("blacklist_with_3_name") as f:
        blacklisteduser = f.readlines()
        for user in blacklisteduser:
            userfields = user.split(",")
            userobj = None
            if userfields[1] and userfields[1] != "-":
                userobj = UserProfile.objects.filter(tckimlikno=userfields[1])
            if not userobj and userfields[2] and userfields[2] != "-":
                userobj = UserProfile.objects.filter(user__username=userfields[2])
            if userobj:
                site = Site.objects.get(name=userfields[3], year=userfields[4])
                if site:
                    #                    trainessnote = TrainessNote(site=site, note_to_profile=userobj[0],
                    #                                                note_from_profile=UserProfile.objects.get(
                    #                                                    user__username="******"), label="sistem",
                    #                                                note=userfields[5])
                    #                    trainessnote.save()
                    print "*******"
                    print userfields[0]
                    print userobj
                    pass
                else:
                    print "******* Profil var site yok"
                    print userfields[0]
                    print userobj
            else:
                name = userfields[0].split(" ")[0] + " " + userfields[0].split(" ")[1]
                surname = userfields[0].split(" ")[2]
                userobj2 = UserProfile.objects.filter(user__first_name=name, user__last_name=surname)
                if userobj2:
                    site = Site.objects.get(name=userfields[3], year=userfields[4])
                    if site:
                        trainessnote = TrainessNote(site=site, note_to_profile=userobj2[0],
                                                    note_from_profile=UserProfile.objects.get(
                                                        user__username="******"), label="sistem",
                                                    note=userfields[5])
                        trainessnote.save()
                        print "*******"
                        print userfields[0]
                        print userobj2
                        # pass
                    else:
                        print "******* Profil var site yok"
                        print userfields[0]
                        print userobj2
Ejemplo n.º 6
0
 def save_model(self, request, obj, form, change):
     notestr = ""
     if not change:
         notestr = "Bu kullanicinin, %s kursu olan %s. tercihi yönetici tarafindan eklendi." % (obj.course.name,
                                                                                                obj.preference_order)
     if "approved" in form.changed_data:
         if form.cleaned_data['approved']:
             notestr = "Bu kullanicinin, %s kursu olan %s. tercihi yönetici tarafindan onaylandi." % (obj.course.name,
                                                                                                obj.preference_order)
     if notestr and not TrainessNote.objects.filter(note=notestr):
         note = TrainessNote(note=notestr, note_from_profile=request.user.userprofile, note_to_profile=obj.trainess,
                                         site=obj.course.site, note_date=timezone.now(), label="tercih")
         note.save()
     super(TrainessCourseRecordAdmin, self).save_model(request, obj, form, change)
Ejemplo n.º 7
0
 def save_model(self, request, obj, form, change):
     notestr = ""
     if not change:
         notestr = "Bu kullanicinin, %s kursu olan %s. tercihi yönetici tarafindan eklendi." % (
             obj.course.name, obj.preference_order)
     if "approved" in form.changed_data:
         if form.cleaned_data['approved']:
             notestr = "Bu kullanicinin, %s kursu olan %s. tercihi yönetici tarafindan onaylandi." % (
                 obj.course.name, obj.preference_order)
     if notestr and not TrainessNote.objects.filter(note=notestr):
         note = TrainessNote(note=notestr,
                             note_from_profile=request.user.userprofile,
                             note_to_profile=obj.trainess,
                             site=obj.course.site,
                             note_date=timezone.now(),
                             label="tercih")
         note.save()
     super(TrainessCourseRecordAdmin,
           self).save_model(request, obj, form, change)
Ejemplo n.º 8
0
    def savenote(request, user, trainessnote):
        '''

        :param request: not kaydetmek için yapılan http istegi
        :return: isteğin içerisinden not ve hangi kullanıcı için istendiği bilgisi alınır ve not formatı uygunsa kaydeder
        geriye hata mesajı ya da başarılı mesajı döner
        '''

        if trainessnote and len(trainessnote) <= 500:
            tnote = TrainessNote(note_to_profile=user.userprofile,
                                 note_from_profile=request.user.userprofile,
                                 note=trainessnote,
                                 site=request.site,
                                 label='egitim')
            alert = "Kursiyer notu başarıyla kaydedildi."
            tnote.save()
        else:
            alert = "Kullanıcı notu en fazla 500 karakter olabilir!!"
        return alert
Ejemplo n.º 9
0
def cancel_all_prefs(trainess, cancelnote, site, ruser, d):
    trainess_course_records = TrainessCourseRecord.objects.filter(course__site__is_active=True,
                                                                  trainess=trainess)
    now = datetime.date.today()
    try:
        context = {"trainess": trainess, "site": site, "cancelnote":cancelnote}
        try:
            context['recipientlist'] = REPORT_RECIPIENT_LIST
            context['course_prefs'] = trainess_course_records
            approvedpref = TrainessCourseRecord.objects.filter(course__site__is_active=True, trainess=trainess,
                                                            approved=True, consentemailsent=True)
            if site.application_end_date < now < site.event_start_date:
                if approvedpref:
                    context['recipientlist'].extend(approvedpref[0].course.authorized_trainer.all().values_list(
                        'user__username', flat=True))
            send_email_by_operation_name(context, "notice_for_canceled_prefs")
            context['recipientlist'] = [trainess.user.email]
            send_email_by_operation_name(context, "notice_for_canceled_prefs")
            trainess_course_records.delete()
        except Exception as e:
            log.error('Error on line {}'.format(sys.exc_info()[-1].tb_lineno), extra=d)
            log.error(e.message, extra=d)
            return 0
        if site.application_end_date < now:
            remaining_days = int((site.event_start_date - now).days)
            notestr = "Kursların başlamasına %d gun kala tüm başvurularını iptal etti." % remaining_days
            if approvedpref:
                # Kullanicinin tercihi kursa kaç gün kala kabul görmüş
                daysbetweenapproveandevent = int((site.event_start_date - approvedpref[0].instapprovedate).days)
                notestr += "\nTercihi kursun başlamasına %d gün kala kabul edilmiş." % daysbetweenapproveandevent
        else:
            notestr = "Kullanici tercihlerini iptal etti"
        if cancelnote:
            notestr += "\nİptal Sebebi:%s" % cancelnote
        if notestr:
            note = TrainessNote(note=notestr, note_from_profile=ruser.userprofile, note_to_profile=trainess,
                                site=site, note_date=now, label="sistem")
            note.save()
        return 1
    except Exception as e:
        log.error('Error on line {}'.format(sys.exc_info()[-1].tb_lineno), extra=d)
        log.error(e.message, extra=d)
        return 2
Ejemplo n.º 10
0
def push_note_to_trainess(note, filename):
    from userprofile.models import UserProfile, TrainessNote
    from abkayit.models import Site
    if note and filename:
        site = Site.objects.get(is_active=True)
        fromup = UserProfile.objects.get(user__username="******")
        with open(filename) as f:
            userlist = f.readlines()
            for user in userlist:
                print user
                usermail = user.rstrip()
                up = UserProfile.objects.get(user__username=usermail)
                # trainessnote = TrainessNote.objects.get(note_to_profile=up)
                # trainessnote.note = note
                # trainessnote.save()
                trainessnote = TrainessNote(site=site, note_to_profile=up, note_from_profile=fromup, label="sistem",
                                            note=note)
                trainessnote.save()
    else:
        print "note and filename can not be empty!!"
Ejemplo n.º 11
0
def push_note_to_trainess(note, filename):
    from userprofile.models import UserProfile, TrainessNote
    from abkayit.models import Site
    if note and filename:
        site = Site.objects.get(is_active=True)
        fromup = UserProfile.objects.get(user__username="******")
        with open(filename) as f:
            userlist = f.readlines()
            for user in userlist:
                print user
                usermail = user.rstrip()
                up = UserProfile.objects.get(user__username=usermail)
                # trainessnote = TrainessNote.objects.get(note_to_profile=up)
                # trainessnote.note = note
                # trainessnote.save()
                trainessnote = TrainessNote(site=site, note_to_profile=up, note_from_profile=fromup, label="sistem",
                                            note=note)
                trainessnote.save()
    else:
        print "note and filename can not be empty!!"
Ejemplo n.º 12
0
def control_panel(request, courseid):
    d = {'clientip': request.META['REMOTE_ADDR'], 'user': request.user}
    data = getsiteandmenus(request)
    data['note'] = _("You can accept trainees")
    now = timezone.now()
    data["user"] = request.user
    try:
        course = Course.objects.get(pk=courseid)
        data['now'] = now
        data['dates'] = get_approve_start_end_dates_for_inst(data['site'], d)
        data['trainess'] = {}
        data['notesavedsuccessful'] = False
        if data['dates']:
            if now <= data['dates'].get(1).end_date:
                data['trainess'][course] = get_trainess_by_course(course, d)
            else:
                data['note'] = _("Consent period is closed")
                data['trainess'][course] = get_approved_trainess(course, d)
        if request.user.userprofile in course.authorized_trainer.all():
            log.info("Kullanıcı %s kursunda degisiklik yapiyor" % course.name,
                     extra=d)
            if "send" in request.POST:
                log.info("kursiyer onay islemi basladi", extra=d)
                log.info(request.POST, extra=d)
                data['note'] = applytrainerselections(request.POST, course,
                                                      data, d)
            return render_to_response("training/controlpanel.html",
                                      data,
                                      context_instance=RequestContext(request))
        elif request.user.userprofile in course.trainer.all():
            data['note'] = "Kursiyerler için not ekleyebilirsiniz."
            if "savescore" in request.POST:
                trainessnote = request.POST.get('trainessnotetext')
                trainessusername = request.POST.get('trainessnoteuser')
                user = User.objects.get(username=trainessusername)
                potentialinst = request.POST.get('potential-%s' % user.pk)
                if trainessnote:
                    tnote = TrainessNote(
                        note_to_profile=user.userprofile,
                        note_from_profile=request.user.userprofile,
                        note=trainessnote,
                        site=data['site'],
                        label='egitim')
                    tnote.save()
                uprobysite, created = UserProfileBySite.objects.get_or_create(
                    user=user, site=data['site'])
                if potentialinst == 'on':
                    uprobysite.potentialinstructor = True
                else:
                    uprobysite.potentialinstructor = False
                uprobysite.save()
                data['savednoteuserid'] = user.userprofile.pk
                data['notesavedsuccessful'] = True
                data['note'] = "Kursiyer notu başarıyla kaydedildi."
            return render_to_response(
                "training/controlpanelforunauthinst.html",
                data,
                context_instance=RequestContext(request))
        elif not request.user.is_staff:
            return redirect("applytocourse")
        return redirect("statistic")
    except UserProfile.DoesNotExist:
        return redirect("createprofile")