Example #1
0
def activate(request):
    if request.method == 'GET':
        reqdict = request.GET.dict()
        if 'token' not in reqdict:
            return render_with_default(
                request,
                'user/activate.html',
                {'title': 'Failure | iFSR Course Management',
                 'error': 'You didn\'t provide a token.'})
        else:
            try:
                db_entry = Activation.objects.get(token=reqdict['token'])
            except ObjectDoesNotExist:
                return render_with_default(
                    request,
                    'user/activate.html',
                    {'title': 'Failure | iFSR Course Management',
                     'error': 'The token you provided is invalid.'})
            db_entry.user.is_active = True
            db_entry.user.save()
            db_entry.delete()
            return render_with_default(
                request,
                'user/activate.html',
                {'title': 'Success | iFSR Course Management'})
    else:
        return redirect('index')
Example #2
0
def modify(request):

    if request.method == "POST":
        form = ModifyUserForm(request.POST)
        user = request.user
        student = user.student
        if form.is_valid():
            cleaned = form.cleaned_data
            print(cleaned)
            for prop in (
                'first_name',
                'last_name',
                'email'
            ):
                if prop in cleaned:
                    print(cleaned[prop])
                    user.__setattr__(prop, cleaned[prop])
            for prop in (
                'faculty'
            ):
                if prop in cleaned:
                    student.__setattr__(prop, cleaned[prop])
            user.save()
            student.save()
        return redirect('modify-user')
    else:
        form = ModifyUserForm()
        return render_with_default(request, 'user/modify.html', {'form': form})
Example #3
0
def register(request):

    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            userdata = form.cleaned_data
            createduser = Student.create(email=userdata['s_number'] + '@mail.zih.tu-dresden.de',
                                         password=userdata['password'],
                                         first_name=userdata['first_name'],
                                         last_name=userdata['family_name'],
                                         s_number=userdata['s_number'],
                                         faculty=userdata['faculty'])
            if createduser is None:
                return render_with_default(
                    request,
                    'registration/register.html',
                    {'title': 'Registration | iFSR Course Management',
                     'error': 'The s-Number you entered is already in use!',
                     'form': form})
            else:
                activationMail(createduser.user, request)
                return render_with_default(
                    request,
                    'registration/registrationsuccess.html',
                    {'title': 'Registration successfull | iFSR Course Management',
                     'acc': userdata['s_number']})
        else:
            return render_with_default(
                request,
                'registration/register.html',
                {'title': 'Registration | iFSR Course Management',
                 'error': 'Please check your input.',
                 'form': form})
    else:
        form = RegistrationForm()
        return render_with_default(
            request,
            'registration/register.html',
            {'title': 'Registration | iFSR Course Management',
             'form': form})
Example #4
0
def render_course(request, course_id):
    active_course = course.Course.objects.get(id=course_id)
    participants_count, max_participants = active_course.saturation_level
    context = {
        'title': active_course.subject.name,
        'course_id': course_id,
        'course': active_course,
        'is_subbed': active_course.participants.filter(id=request.user.student.id).exists(),
        'backurl': reverse('subject', args=[active_course.subject.name]),
        'participants_count': participants_count,
        'max_participants': max_participants,
    }

    if active_course.teacher.filter(user=request.user).exists():
        context['is_teacher'] = True
        context['students'] = active_course.participants.all()

    return render_with_default(
        request,
        'course/info.html',
        context
    )
Example #5
0
def edit_course(request, course_id):
    if request.method == "POST":
        form = EditCourseForm(request.POST)
        if form.is_valid():
            c = course.Course.objects.get(id=course_id)
            cleaned = form.cleaned_data

            for prop in (
                'active',
                'max_participants'
            ):
                if prop in cleaned:
                    c.__setattr__(prop,cleaned[prop])


            if 'description' in cleaned:
                c.description = bleach.clean(cleaned['description'], strip=True)

            c.save()
            return redirect('course', course_id)

    else:
        c = course.Course.objects.get(id=course_id)
        form = EditCourseForm(dict(
                active = c.active,
                description = c.description,
                max_participants = c.max_participants
            ))

    return render_with_default(
        request,
        'course/edit.html',
        {
            'form': form,
            'course_id': course_id
        }
    )
Example #6
0
def render_course_overview(request, subjectname):
    active_subject = subject.Subject.objects.filter(name=subjectname).get()
    return render_with_default(request, 'subject.html', {'title': '{name} | iFSR Course Management'.format(name=subjectname),
                                                         'subject': active_subject,
                                                         })
Example #7
0
def login(request):
    return render_with_default(request, 'login.html', {'title': 'Sign in'})
Example #8
0
def index(request):
    return render_with_default(request, "index.html", {"title": "Welcome"})
Example #9
0
def profile(request):
    return render_with_default(request, 'user/profile.html', {})