Example #1
0
def edit(request):
    #create user profile
    status = ''
    if request.method == 'POST':
        if 'email' in request.POST:
            email = request.POST['email']
            username = request.POST['username']
            password = request.POST['password']
            lastname = request.POST['lastname']
            firstname = request.POST['firstname']
            middlename = request.POST['middlename']
            status = request.POST.get('status','')
            education = request.POST.get('education','')
            year = request.POST.get('year','1')
            course = request.POST.get('course','1')
            user = User.objects.create_user(username, email, password)
            user.first_name = firstname
            user.last_name = lastname
            user.save()
            user = authenticate(username=username, password=password)
            if user is not None:
                if user.is_active:
                    login(request, user)
            profile = UserProfile()
            profile.user = user
            profile.middle_name = middlename
            profile.status = status
            profile.education = education
            profile.grade = course
            profile.year = year
            profile.save()
        form = ImageUploadForm(request.POST, request.FILES)
        if form.is_valid():
            # get profile from user

            if not request.user.user_profile.all():
                profile = UserProfile()
                profile.user = request.user
                profile.save()

            m = request.user.user_profile.all()[0]
            status = m.status
            m.photo = form.cleaned_data['image']
            m.save()
        if 'about' in request.POST or 'teaching'  in request.POST or 'science' in request.POST or 'publications' in request.POST:
            if not request.user.user_profile.all():
                profile = UserProfile()
                profile.user = request.user
                profile.save()

            m = request.user.user_profile.all()[0]
            if 'about' in request.POST:
                m.about = request.POST.get('about','')
            if 'teaching' in request.POST:
                m.teaching = request.POST.get('teaching','')
            if 'science' in request.POST:
                m.science = request.POST.get('science','')
            if 'publications' in request.POST:
                m.publications = request.POST.get('publications','')
            m.save()

        context = get_context(request)
        context['type'] = status

        return render(request, 'main/edit.html', context)
    elif request.user.is_authenticated():
        context = get_context(request)
        if not request.user.user_profile.all():
            profile = UserProfile()
            profile.user = request.user
            profile.save()
        context['type'] = request.user.user_profile.all()[0].status

        return render(request, 'main/edit.html', context)       

    return HttpResponseForbidden('allowed only registered users or via POST')