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")
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
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