Esempio n. 1
0
def showuserprofile(request, userid, courserecordid):
    d = {'clientip': request.META['REMOTE_ADDR'], 'user': request.user}
    data = getsiteandmenus(request)
    if UserProfileOPS.is_instructor(request.user.userprofile) or request.user.is_staff:
        courserecord = None
        try:
            courserecord = TrainessCourseRecord.objects.get(pk=courserecordid,
                                                            trainess=UserProfile.objects.get(pk=userid))
            if not request.user.is_staff and request.user.userprofile not in courserecord.course.trainer.all() and \
                            request.user.userprofile not in courserecord.course.authorized_trainer.all():
                return redirect("controlpanel")
        except Exception as e:
            log.warning(e.message, extra=d)
            log.warning("Staff user show user profile", extra=d)
            if not request.user.is_staff:
                return redirect("controlpanel")
        user = UserProfile.objects.get(pk=userid)
        if user:
            data['note'] = "Detaylı kullanıcı bilgileri"
            data['tuser'] = user
            data['ruser'] = request.user
            if request.user.is_staff and "cancelall" in request.POST:
                cancelnote = request.POST.get('trainesscancelnotetext', '')
                res = cancel_all_prefs(user, cancelnote, data['site'], request.user, d)
                if res == 1:
                    data['note'] = "Kullanıcının Tüm Başvuruları Silindi"
                else:
                    data['note'] = "Kullanıcının Başvuruları silinirken hata oluştu"
            if courserecord:
                data['courseid'] = courserecord.course.pk
                if request.user.is_staff and courserecord.consentemailsent:
                    try:
                        data['forms'] = getparticipationforms(data['site'], courserecord)
                        if request.POST:
                            formsarevalid = []
                            frms = []
                            for f in data['forms']:
                                frm = ParticipationForm(request.POST,
                                                        prefix="participation" + str(
                                                            datetime.strptime(f.initial['day'], '%Y-%m-%d').day))
                                frm.courserecord = courserecord.pk
                                frm.day = f.initial['day']
                                formsarevalid.append(frm.is_valid())
                                frms.append(frm)
                            if all(formsarevalid):
                                for f in frms:
                                    f.save()
                                data['note'] = 'Seçimleriniz başarıyla kaydedildi.'
                                log.info("%s nolu kurs kaydinin yoklama kaydi girişi başarılı" % courserecord.pk, extra=d)
                            else:
                                data['note'] = 'Hata oluştu!'
                                log.info("%s nolu kurs kaydinin yoklama kaydi girişi hatalı" % courserecord.pk, extra=d)
                    except Exception as e:
                        log.error(e.message, extra=d)
        else:
            data['note'] = "Böyle Bir kullanıcı yoktur."
        return render_to_response("userprofile/showuserprofile.html", data, context_instance=RequestContext(request))
    return redirect("controlpanel")
Esempio n. 2
0
def getparticipationforms_by_date(courserecord, date):
    try:
        tp = TrainessParticipation.objects.get(courserecord=courserecord,
                                               day=str(date))

        form = ParticipationForm(instance=tp,
                                 prefix="participation" +
                                 str(courserecord.pk) + str(date))
    except ObjectDoesNotExist as e:
        form = ParticipationForm(initial={
            'courserecord': courserecord.pk,
            'day': str(date)
        },
                                 prefix="participation" +
                                 str(courserecord.pk) + str(date))
    return form
Esempio n. 3
0
def getparticipationforms(site, courserecord):
    rows = []
    for date in range(
            1,
            int((site.event_end_date - site.event_start_date).days) + 1):
        try:
            tp = TrainessParticipation.objects.get(courserecord=courserecord,
                                                   day=str(date))
            rows.append(
                ParticipationForm(instance=tp,
                                  prefix="participation" + str(date)))
        except ObjectDoesNotExist as e:
            rows.append(
                ParticipationForm(initial={
                    'courserecord': courserecord.pk,
                    'day': str(date)
                },
                                  prefix="participation" + str(date)))
    return rows