예제 #1
0
파일: views.py 프로젝트: ksrr/website
def insert_contribution(request):
    """
    View to add new Contribution.
    Models used: Achievement, Contribution
    """
    try:
        is_loggedin, username = get_session_variables(request)
        # User is not logged in
        if not request.user.is_authenticated():
            return HttpResponseRedirect('/register/login')

        # User is logged in
        else:
            if request.method == 'POST':
                form = AddContributionForm(request.POST)

                # Invalid form imput
                if not form.is_valid():
                    error = "Invalid inputs"
                    return render(
                        request, 'achievement/new_contribution.html', {
                            'form': form,
                            'error': error,
                            'is_loggedin': is_loggedin,
                            'username': username
                        }, RequestContext(request))

                # Form is valid
                else:
                    # Get the new achievement_id
                    achievement_id = get_achievement_id(request)
                    achievement_type = "contribution"

                    # Saving inputs
                    achievement_obj = Achievement(achievement_id, \
                                                  achievement_type, \
                                                  username)
                    achievement_obj.save()
                    contribution_obj = form.save(commit=False)
                    contribution_obj.achievement_id = achievement_obj
                    contribution_obj.achieve_typ = achievement_type
                    user_obj = get_object_or_404(User_info, username=username)
                    contribution_obj.username = user_obj
                    contribution_obj.save()
                    return render(request, 'achievement/success.html', \
                                              {'achievement_type': achievement_type, \
                                               'is_loggedin': is_loggedin, \
                                               'username': username}, \
                                              RequestContext(request))
            # Method is not POST
            else:
                return render(request, 'achievement/new_contribution.html', \
                                          {'form': AddContributionForm, \
                                           'is_loggedin': is_loggedin, \
                                           'username': username}, \
                                          RequestContext(request))
    except KeyError:
        return error_key(request)
예제 #2
0
파일: views.py 프로젝트: Anagha22/arts_fest
def insert_intern(request):
    """
    View to add internship details
    Models used: Achievement, Intern
    """
    try:
        is_loggedin, username = get_session_variables(request)
        # User is not logged in
        if not logged_in(request):
            return HttpResponseRedirect('/register/login')

        # User is logged in
        else:
            if request.method == 'POST':
                form = AddInternForm(request.POST)

                # Invalid form imput
                if not form.is_valid():
                    error = "Invalid inputs"
                    return render_to_response('achievement/new_intern.html', \
                            {'form':form, \
                            'error':error, \
                            'is_loggedin':is_loggedin, \
                            'username':username}, \
                            RequestContext(request))

                # Form is valid
                else:
                    # Get the new achievement_id
                    achievement_id = get_achievement_id(request)	
                    achievement_type = "Intern"

                    # Saving inputs
                    achievement_obj = Achievement(achievement_id, \
                            achievement_type, \
                            username)
                    achievement_obj.save()
                    contribution_obj = form.save(commit = False)
                    contribution_obj.achievement_id = achievement_obj
                    contribution_obj.achieve_typ = achievement_type
                    user_obj = get_object_or_404(User_info, username = username)
                    contribution_obj.username = user_obj
                    contribution_obj.save()
                    return render_to_response('achievement/success.html', \
                            {'achievement_type':achievement_type, \
                            'is_loggedin':is_loggedin, \
                            'username':username}, \
                            RequestContext(request))
            # Method is not POST
            else:
                return render_to_response('achievement/new_intern.html', \
                        {'form': AddInternForm, \
                        'is_loggedin':is_loggedin, \
                        'username':username}, \
                        RequestContext(request))
    except KeyError:
        return error_key(request)
예제 #3
0
파일: views.py 프로젝트: ksrr/website
def insert_icpc(request):
    """
    View to add ICPC details.
    Models used: Achievement, ACM_ICPC_detail
    """
    try:
        is_loggedin, username = get_session_variables(request)
        # User is not logged in
        if not request.user.is_authenticated():
            return HttpResponseRedirect('/register/login')

        # User is logged in
        else:
            if request.method == 'POST':
                form = AddIcpcForm(request.POST)

                # Invalid form imput
                if not form.is_valid():
                    error = "Invalid inputs/ Information already exists "
                    return render(request, 'achievement/new_icpc.html', \
                                              {'form': form, \
                                               'error': error, \
                                               'is_loggedin': is_loggedin, \
                                               'username': username}, \
                                              RequestContext(request))

                # Form is valid
                else:
                    # Get the new achievement_id
                    achievement_id = get_achievement_id(request)
                    achievement_type = "acm"

                    # Saving inputs
                    achievement_obj = Achievement(achievement_id, \
                                                  achievement_type, \
                                                  username)
                    achievement_obj.save()
                    icpc_obj = form.save(commit=False)
                    icpc_obj.achievement_id = achievement_obj
                    user_obj = get_object_or_404(User_info, username=username)
                    icpc_obj.username = user_obj
                    icpc_obj.save()
                    return render(request, 'achievement/success.html', \
                                              {'achievement_type': achievement_type, \
                                               'is_loggedin': is_loggedin, \
                                               'username': username}, \
                                              RequestContext(request))
            # Method is not POST
            else:
                return render(request, 'achievement/new_icpc.html', \
                                          {'form': AddIcpcForm, \
                                           'is_loggedin': is_loggedin, \
                                           'username': username}, \
                                          RequestContext(request))
    except KeyError:
        return error_key(request)
예제 #4
0
파일: views.py 프로젝트: pooja33/website
def update_profile(request):
    try:
        is_loggedin, username = get_session_variables(request)
        # User is not logged in
        if not logged_in(request):
            return HttpResponseRedirect('/register/login')
        else:
            user_details = get_object_or_404(User_info, username=username)
            init_user_details = user_details.__dict__

            #If method is not POST
            if request.method != 'POST':
                #return form with old details
                return render_to_response('register/update_profile.html',\
                    {'form':UpdateProfileForm(init_user_details),\
                    'is_loggedin':is_loggedin, 'username':username},\
                    RequestContext(request))

            # If method is POST
            else:
                profile_update_form = UpdateProfileForm(request.POST)
                # Form is not valid
                if not profile_update_form.is_valid():
                    #return form with old details

                    print profile_update_form.cleaned_data
                    return render_to_response('register/update_profile.html',\
                        {'form':UpdateProfileForm(init_user_details),\
                        'is_loggedin':is_loggedin, 'username':username},\
                        RequestContext(request))
                # Form is valid:
                else:
                    user_details_form = profile_update_form.save(commit=False)
                    user_details_obj = get_object_or_404(User_info,
                                                         username=username)
                    user_details_obj.firstname = user_details_form.firstname
                    user_details_obj.lastname = user_details_form.lastname
                    user_details_obj.gender = user_details_form.gender
                    user_details_obj.contact = user_details_form.contact
                    user_details_obj.role = user_details_form.role
                    user_details_obj.blog_url = user_details_form.blog_url
                    user_details_obj.twitter_id = user_details_form.twitter_id
                    user_details_obj.bitbucket_id = user_details_form.topcoder_handle
                    user_details_obj.github_id = user_details_form.github_id
                    user_details_obj.bitbucket_id = user_details_form.bitbucket_id
                    user_details_obj.typing_speed = user_details_form.typing_speed
                    user_details_obj.interest = user_details_form.interest
                    user_details_obj.expertise = user_details_form.expertise
                    user_details_obj.goal = user_details_form.goal
                    #user_details_obj.email = user_details_form.email
                    user_details_obj.save()
                    redirect_url = "/register/profile/" + username + "/"
                    return HttpResponseRedirect(redirect_url)

    except KeyError:
        return error_key(request)
예제 #5
0
파일: views.py 프로젝트: Anagha22/arts_fest
def update_profile(request):
    try:
        is_loggedin, username = get_session_variables(request)
        # User is not logged in
        if not logged_in(request):
            return HttpResponseRedirect('/register/login')
        else:
            user_details = get_object_or_404(User_info, username = username)
            init_user_details = user_details.__dict__

            #If method is not POST 
            if request.method != 'POST':
                #return form with old details
                return render_to_response('register/update_profile.html',\
                    {'form':UpdateProfileForm(init_user_details),\
                    'is_loggedin':is_loggedin, 'username':username},\
                    RequestContext(request))

            # If method is POST
            else:
                profile_update_form = UpdateProfileForm(request.POST)
                # Form is not valid
                if not profile_update_form.is_valid():
                    #return form with old details

                    print profile_update_form.cleaned_data
                    return render_to_response('register/update_profile.html',\
                        {'form':UpdateProfileForm(init_user_details),\
                        'is_loggedin':is_loggedin, 'username':username},\
                        RequestContext(request))    
                # Form is valid:
                else:
                    user_details_form = profile_update_form.save(commit = False)
                    user_details_obj = get_object_or_404(User_info, username = username)
                    user_details_obj.firstname = user_details_form.firstname
                    user_details_obj.lastname = user_details_form.lastname
                    user_details_obj.gender = user_details_form.gender
                    user_details_obj.contact = user_details_form.contact
                    user_details_obj.role = user_details_form.role
                    user_details_obj.blog_url = user_details_form.blog_url
                    user_details_obj.twitter_id = user_details_form.twitter_id
                    user_details_obj.bitbucket_id = user_details_form.topcoder_handle
                    user_details_obj.github_id = user_details_form.github_id
                    user_details_obj.bitbucket_id = user_details_form.bitbucket_id
                    user_details_obj.typing_speed = user_details_form.typing_speed
                    user_details_obj.interest= user_details_form.interest
                    user_details_obj.expertise = user_details_form.expertise
                    user_details_obj.goal = user_details_form.goal
                    #user_details_obj.email = user_details_form.email
                    user_details_obj.save()  
                    redirect_url = "/register/profile/"+username+"/"
                    return HttpResponseRedirect(redirect_url)

    except KeyError:
        return error_key(request)
예제 #6
0
파일: views.py 프로젝트: ksrr/website
def update_article(request, achievement_id):
    """
    View to update the artciel information
    """
    try:
        is_loggedin, username = get_session_variables(request)
        # User is not logged in
        if not request.user.is_authenticated():
            return HttpResponseRedirect('/register/login')
        else:

            article = get_object_or_404(Article, achievement_id=achievement_id)
            init_article = article.__dict__

            # If method is not POST
            if request.method != 'POST':
                # return form with old details
                return render(request, 'achievement/update_article.html', \
                                          {'form': UpdateArticleForm(init_article), \
                                           'is_loggedin': is_loggedin, 'username': username}, \
                                          RequestContext(request))

            # If method is POST
            else:
                article_update_form = UpdateArticleForm(request.POST)
                # Form is not valid
                if not article_update_form.is_valid():
                    # return form with old details
                    return render(request, 'achievement/update_article.html', \
                                              {'form': UpdateArticleForm(init_article), \
                                               'is_loggedin': is_loggedin, 'username': username}, \
                                              RequestContext(request))
                    # Form is valid:
                else:
                    article_update = article_update_form.save(commit=False)
                    update_article_obj = get_object_or_404(Article,
                                                           username=username)
                    update_article_obj.area = article_update.area
                    update_article_obj.magazine_name = article_update.magazine_name
                    update_article_obj.title = article_update.title
                    update_article_obj.publication_date = article_update.publication_date
                    update_article_obj.save()
                    return render(request, 'achievement/success.html', \
                                              {'achievement_type': 'Update Article', \
                                               'is_loggedin': is_loggedin, \
                                               'username': username}, \
                                              RequestContext(request))

    except KeyError:
        return error_key(request)
예제 #7
0
파일: views.py 프로젝트: ksrr/website
def update_intern(request, achievement_id):
    """
    View to update the artciel information
    """
    try:
        is_loggedin, username = get_session_variables(request)
        # User is not logged in
        if not request.user.is_authenticated():
            return HttpResponseRedirect('/register/login')
        else:

            internship = get_object_or_404(Intern,
                                           achievement_id=achievement_id)
            init_internship = internship.__dict__

            # If method is not POST
            if request.method != 'POST':
                # return form with old details
                return render(request, 'achievement/update_intern.html', \
                                          {'form': UpdateInternForm(init_internship), \
                                           'is_loggedin': is_loggedin, 'username': username}, \
                                          RequestContext(request))

            # If method is POST
            else:
                intern_update_form = UpdateInternForm(request.POST)
                # Form is not valid
                if not intern_update_form.is_valid():
                    # return form with old details
                    return render(request, 'achievement/update_intern.html', \
                                              {'form': UpdateInternForm(init_internship), \
                                               'is_loggedin': is_loggedin, 'username': username}, \
                                              RequestContext(request))
                    # Form is valid:
                else:
                    intern_update = intern_update_form.save(commit=False)
                    intern_article_obj = get_object_or_404(Intern,
                                                           username=username)
                    intern_article_obj.place = intern_update.place
                    intern_article_obj.intern_type = intern_update.intern_type
                    intern_article_obj.period = intern_update.period
                    intern_article_obj.save()
                    return render(request, 'achievement/success.html', \
                                              {'achievement_type': 'Update Internship', \
                                               'is_loggedin': is_loggedin, \
                                               'username': username}, \
                                              RequestContext(request))

    except KeyError:
        return error_key(request)
예제 #8
0
파일: views.py 프로젝트: ksrr/website
def update_contribution(request, achievement_id):
    try:
        is_loggedin, username = get_session_variables(request)
        # User is not logged in
        if not request.user.is_authenticated():
            return HttpResponseRedirect('/register/login')
        else:
            # achievement_id = get_object_or_404(Achievement, username = user_name)
            contribution = get_object_or_404(Contribution,
                                             achievement_id=achievement_id)
            init_contribution = contribution.__dict__

            # If method is not POST
            if request.method != 'POST':
                # return form with old details
                return render(request, 'achievement/update_contrib.html', \
                                          {'form': UpdateContributionForm(init_contribution), \
                                           'is_loggedin': is_loggedin, 'username': username}, \
                                          RequestContext(request))

            # If method is POST
            else:
                contribution_update_form = UpdateContributionForm(request.POST)
                # Form is not valid
                if not contribution_update_form.is_valid():
                    # return form with old details
                    return render(request, 'achievement/update_contrib.html', \
                                              {'form': UpdateContributionForm(init_contribution), \
                                               'is_loggedin': is_loggedin, 'username': username}, \
                                              RequestContext(request))
                    # Form is valid:
                else:
                    contribution_update = contribution_update_form.save(
                        commit=False)
                    update_contribution_obj = get_object_or_404(
                        Contribution, username=username)
                    update_contribution_obj.bug_id = contribution_update.bug_id
                    update_contribution_obj.org_name = contribution_update.org_name
                    update_contribution_obj.bug_url = contribution_update.bug_url
                    update_contribution_obj.bug_description = contribution_update.bug_description
                    update_contribution_obj.save()
                    return render(request, 'achievement/success.html', \
                                              {'achievement_type': 'Update Contribution', \
                                               'is_loggedin': is_loggedin, \
                                               'username': username}, \
                                              RequestContext(request))

    except KeyError:
        return error_key(request)
예제 #9
0
파일: views.py 프로젝트: Anagha22/arts_fest
def update_article(request,achievement_id):
    """
    View to update the artciel information
    """
    try:
        is_loggedin, username = get_session_variables(request)
        # User is not logged in
        if not logged_in(request):
            return HttpResponseRedirect('/register/login')
        else:
            
            article = get_object_or_404(Article, achievement_id = achievement_id)
            init_article = article.__dict__

            #If method is not POST 
            if request.method != 'POST':
                #return form with old details
                return render_to_response('achievement/update_article.html',\
                    {'form':UpdateArticleForm(init_article),\
                    'is_loggedin':is_loggedin, 'username':username},\
                    RequestContext(request))

            # If method is POST
            else:
                article_update_form = UpdateArticleForm(request.POST)
                # Form is not valid
                if not article_update_form.is_valid():
                    #return form with old details
                    return render_to_response('achievement/update_article.html',\
                        {'form':UpdateArticleForm(init_article),\
                        'is_loggedin':is_loggedin, 'username':username},\
                        RequestContext(request)) 
                # Form is valid:
                else:
                    article_update = article_update_form.save(commit = False)
                    update_article_obj = get_object_or_404(Article, username = username)
                    update_article_obj.area = article_update.area
                    update_article_obj.magazine_name = article_update.magazine_name
                    update_article_obj.title = article_update.title
                    update_article_obj.publication_date = article_update.publication_date
                    update_article_obj.save()  
                    return render_to_response('achievement/success.html', \
                        {'achievement_type':'Update Article', \
                        'is_loggedin':is_loggedin, \
                        'username':username}, \
                        RequestContext(request))

    except KeyError:
        return error_key(request)
예제 #10
0
파일: views.py 프로젝트: Anagha22/arts_fest
def update_intern(request,achievement_id):
    """
    View to update the artciel information
    """
    try:
        is_loggedin, username = get_session_variables(request)
        # User is not logged in
        if not logged_in(request):
            return HttpResponseRedirect('/register/login')
        else:
            
            internship = get_object_or_404(Intern, achievement_id = achievement_id)
            init_internship = internship.__dict__

            #If method is not POST 
            if request.method != 'POST':
                #return form with old details
                return render_to_response('achievement/update_intern.html',\
                    {'form':UpdateInternForm(init_internship),\
                    'is_loggedin':is_loggedin, 'username':username},\
                    RequestContext(request))

            # If method is POST
            else:
                intern_update_form = UpdateInternForm(request.POST)
                # Form is not valid
                if not intern_update_form.is_valid():
                    #return form with old details
                    return render_to_response('achievement/update_intern.html',\
                        {'form':UpdateInternForm(init_internship),\
                        'is_loggedin':is_loggedin, 'username':username},\
                        RequestContext(request)) 
                # Form is valid:
                else:
                    intern_update = intern_update_form.save(commit = False)
                    intern_article_obj = get_object_or_404(Intern, username = username)
                    intern_article_obj.place = intern_update.place
                    intern_article_obj.intern_type = intern_update.intern_type
                    intern_article_obj.period = intern_update.period
                    intern_article_obj.save()  
                    return render_to_response('achievement/success.html', \
                        {'achievement_type':'Update Internship', \
                        'is_loggedin':is_loggedin, \
                        'username':username}, \
                        RequestContext(request))

    except KeyError:
        return error_key(request)
예제 #11
0
파일: views.py 프로젝트: Anagha22/arts_fest
def update_contribution(request,achievement_id):
    try:
        is_loggedin, username = get_session_variables(request)
        # User is not logged in
        if not logged_in(request):
            return HttpResponseRedirect('/register/login')
        else:
            #achievement_id = get_object_or_404(Achievement, username = user_name)
            contribution = get_object_or_404(Contribution, achievement_id = achievement_id)
            init_contribution = contribution.__dict__

                #If method is not POST 
            if request.method != 'POST':
                #return form with old details
                return render_to_response('achievement/update_contrib.html',\
                    {'form':UpdateContributionForm(init_contribution),\
                    'is_loggedin':is_loggedin, 'username':username},\
                    RequestContext(request))

            # If method is POST
            else:
                contribution_update_form = UpdateContributionForm(request.POST)
                # Form is not valid
                if not contribution_update_form.is_valid():
                    #return form with old details
                    return render_to_response('achievement/update_contrib.html',\
                        {'form':UpdateContributionForm(init_contribution),\
                        'is_loggedin':is_loggedin, 'username':username},\
                        RequestContext(request)) 
                # Form is valid:
                else:
                    contribution_update = contribution_update_form.save(commit = False)
                    update_contribution_obj = get_object_or_404(Contribution, username = username)
                    update_contribution_obj.bug_id = contribution_update.bug_id
                    update_contribution_obj.org_name = contribution_update.org_name
                    update_contribution_obj.bug_url = contribution_update.bug_url
                    update_contribution_obj.bug_description = contribution_update.bug_description
                    update_contribution_obj.save()  
                    return render_to_response('achievement/success.html', \
                        {'achievement_type':'Update Contribution', \
                        'is_loggedin':is_loggedin, \
                        'username':username}, \
                        RequestContext(request))

    except KeyError:
        return error_key(request)
예제 #12
0
def upload_images(request):
    """
    View to store upload images specific to an event.
    Models used: Folder, Image
    """
    try:
        is_loggedin, username = get_session_variables(request)

        # User is not logged in
        if not is_loggedin:
            return HttpResponseRedirect('/register/login')

        # User is logged in
        else:
            if request.method == 'POST':
                form = FolderForm(request.POST, request.FILES)

                # form is not valid
                if not form.is_valid():
                    error = "Invalid inputs"
                    return render(request, 'images/upload_images.html', \
                        {'form':form, 'error':error, }, \
                        RequestContext(request))

                # form is valid
                else:
                    cleaned_form_data = form.cleaned_data
                    folder_name = cleaned_form_data['folder_name']
                    # create a new folder
                    folder = form.save(commit=False)
                    folder.save()

                    # save images
                    image = request.FILES['image']
                    new_image_object = Image(img=image, \
                        folder_name = folder)
                    img_name = new_image_object.img.name
                    new_image_object.save()
                    return render(request, "images/success.html")
            else:
                return render(request, 'images/upload_images.html', \
                    {'form':FolderForm(), 'is_loggedin': is_loggedin },\
                     RequestContext(request))
    except KeyError:
        return error_key(request)
예제 #13
0
파일: views.py 프로젝트: Anagha22/arts_fest
def upload_images(request):
    """
    View to store upload images specific to an event.
    Models used: Folder, Image
    """
    try:
        is_loggedin, username = get_session_variables(request)
        
        # User is not logged in
        if not is_loggedin:
            return HttpResponseRedirect('/register/login')
        
        # User is logged in
        else:
            if request.method == 'POST':
                form = FolderForm(request.POST, request.FILES)
    
                # form is not valid          
                if not form.is_valid():
                    error = "Invalid inputs"
                    return render_to_response('images/upload_images.html', \
                        {'form':form, 'error':error, }, \
                        RequestContext(request))
                
                # form is valid
                else:
                    cleaned_form_data = form.cleaned_data
                    folder_name = cleaned_form_data['folder_name']
                    # create a new folder
                    folder = form.save(commit=False)
                    folder.save()

                    # save images
                    image = request.FILES['image']
                    new_image_object = Image(img=image, \
                        folder_name = folder)
                    img_name = new_image_object.img.name 
                    new_image_object.save()
                    return render_to_response("images/success.html")
            else:
                return render_to_response('images/upload_images.html', \
                    {'form':FolderForm(), 'is_loggedin': is_loggedin },\
                     RequestContext(request))
    except KeyError:
        return error_key(request)
예제 #14
0
def update_profile_pic(request):
    try:
        is_loggedin, username = get_session_variables(request)
        # User is not logged in
        if not logged_in(request):
            return HttpResponseRedirect('/register/login')
        else:
            user_details = get_object_or_404(User_info, username=username)
            init_user_details = user_details.__dict__

            #If method is not POST
            if request.method != 'POST':
                #return form with old details
                return render_to_response('register/update_profile_pic.html',\
                    {'form':UpdateProfileForm(init_user_details),\
                    'is_loggedin':is_loggedin, 'username':username},\
                    RequestContext(request))

            # If method is POST
            else:
                user_object = get_object_or_404(User_info, \
                        username=username)
                if 'image' in request.FILES:
                    try:
                        to_delete = ProfileImage.objects.filter(
                            username=username)
                        for obj in to_delete:
                            obj.delete()
                    except ProfileImage.DoesNotExist:
                        pass
                    profile_image = request.FILES['image']
                    profile_image_object = ProfileImage \
                            (image=profile_image, \
                            username=user_object)
                    profile_image_object.image.name = username + \
                                                    ".jpg"
                    profile_image_object.save()
                redirect_url = "/register/profile/" + username + "/"
                return HttpResponseRedirect(redirect_url)

    except KeyError:
        return error_key(request)
예제 #15
0
파일: views.py 프로젝트: Anagha22/arts_fest
def update_profile_pic(request):
    try:
        is_loggedin, username = get_session_variables(request)
        # User is not logged in
        if not logged_in(request):
            return HttpResponseRedirect('/register/login')
        else:
            user_details = get_object_or_404(User_info, username = username)
            init_user_details = user_details.__dict__

            #If method is not POST 
            if request.method != 'POST':
                #return form with old details
                return render_to_response('register/update_profile_pic.html',\
                    {'form':UpdateProfileForm(init_user_details),\
                    'is_loggedin':is_loggedin, 'username':username},\
                    RequestContext(request))

            # If method is POST
            else:
                user_object = get_object_or_404(User_info, \
                        username=username)
                if 'image' in request.FILES:
                    try:
                        to_delete = ProfileImage.objects.filter(username=username)
                        for obj in to_delete:
                            obj.delete()
                    except ProfileImage.DoesNotExist:
                        pass
                    profile_image = request.FILES['image']
                    profile_image_object = ProfileImage \
                            (image=profile_image, \
                            username=user_object)
                    profile_image_object.image.name = username + \
                                                    ".jpg"
                    profile_image_object.save()
                redirect_url = "/register/profile/"+username+"/"
                return HttpResponseRedirect(redirect_url)

    except KeyError:
        return error_key(request)
예제 #16
0
파일: views.py 프로젝트: Anagha22/arts_fest
def newregister(request):
    """
    Make a new registration, inserting into User_info and 
    ProfileImage models.
    """ 
    try:
        # If the user is already loggedin never show the login page
        if logged_in(request):
            return render_to_response('register/logged_in.html', 
                    RequestContext(request))
        
        # Upon Register button click
        if request.method == 'POST':
            form = NewRegisterForm(request.POST, request.FILES)

            # Form has all valid entries
            if form.is_valid():
                cleaned_reg_data = form.cleaned_data
                inp_username = cleaned_reg_data['username']
                inp_password = cleaned_reg_data['password']
                inp_email = cleaned_reg_data['email']

                # Saving the user inputs into table 
                new_register = form.save(commit=False)
                new_register.password = hash_func(inp_password) \
                                            .hexdigest()
                new_register.save()
                
                user_object = get_object_or_404(User_info, \
                        username=inp_username)
                
                # Optional image upload processing and saving
                if 'image' in request.FILES:
                    profile_image = request.FILES['image']
                    profile_image_object = ProfileImage \
                            (image=profile_image, \
                            username=user_object)
                    profile_image_object.image.name = inp_username + \
                                                    ".jpg"
                    profile_image_object.save()
                
                # Setting the session variables
                request.session['username'] = cleaned_reg_data['username']
                request.session['is_loggedin'] = True
		request.session['email'] = cleaned_reg_data['email']
                sendmail_after_userreg(inp_username, inp_password, inp_email)
                notify_new_user(inp_username, inp_email)
                return render_to_response('register/register_success.html',
                            {'is_loggedin':logged_in(request), \
                             'username':request.session['username']}, \
                            RequestContext(request))

            # Invalid form inputs
            else:
                error = "Invalid inputs"
                return render_to_response('register/newregister.html', 
                        {'form': form, 'error':error}, 
                        RequestContext(request))

        return render_to_response('register/newregister.html', 
                {'form': NewRegisterForm}, 
                RequestContext(request))

    except KeyError:
        return error_key(request)
예제 #17
0
파일: views.py 프로젝트: Anagha22/arts_fest
def login(request):
    """
    A view to evaluate login form
    """
    try:
        # If the user is already loggedin never show the login page
        if logged_in(request):
            return render_to_response('register/logged_in.html', \
                    RequestContext(request))

        # Upon signin button click 
        if request.method=='POST':
            form = LoginForm(request.POST)

            # Form has all valid entries
            if form.is_valid():
                cleaned_login_data = form.cleaned_data
                inp_username = cleaned_login_data['username']
                inp_password = cleaned_login_data['password']
                hashed_password = hash_func(inp_password).hexdigest()
                user_tuple = User_info.objects.all().filter \
                        (username = inp_username)
                
                # There exist an entry in table with the given username
                if user_tuple:
                    actual_pwd = user_tuple[0].password
                    
                    # Password matches: session validation
                    if actual_pwd == hashed_password:
                        request.session['is_loggedin'] = True
                        request.session['username'] = inp_username
			request.session['email'] = user_tuple[0].email
                        return HttpResponseRedirect('/')
                    
                    # Invalid password
                    else:
                        error = "Invalid password. Is it really you, " + \
                                str(inp_username) + "?"
                        return render_to_response('register/login.html', \
                                {'form':form, 'error':error},
                                RequestContext(request))

                # There's no entry in the table with the given username
                else:
                    error = "User doesn't exist!"
                    return render_to_response('register/login.html', \
                            {'form':form, 'error':error},
                            RequestContext(request))

            # Invalid form inputs
            else:
                error = "Invalid username and password"
                return render_to_response('register/login.html',
                        {'form':form, 'error':error},
                        RequestContext(request))

        # 'GET' request i.e refresh
        else:
            # User is logged in and hence redirect to home page
    	    if 'is_loggedin' in request.session and \
                request.session['is_loggedin']:
	        return HttpResponseRedirect('/')
            # User is not logged in and refresh the page
            else:
                form=LoginForm()

        return render_to_response('register/login.html',
                {'form':form},
                RequestContext(request))

    except KeyError:
        return error_key(request)
예제 #18
0
파일: views.py 프로젝트: pooja33/website
def newregister(request):
    """
    Make a new registration, inserting into User_info and 
    ProfileImage models.
    """
    try:
        # If the user is already loggedin never show the login page
        if logged_in(request):
            return render_to_response('register/logged_in.html',
                                      RequestContext(request))

        # Upon Register button click
        if request.method == 'POST':
            form = NewRegisterForm(request.POST, request.FILES)

            # Form has all valid entries
            if form.is_valid():
                cleaned_reg_data = form.cleaned_data
                inp_username = cleaned_reg_data['username']
                inp_password = cleaned_reg_data['password']
                inp_email = cleaned_reg_data['email']

                # Saving the user inputs into table
                new_register = form.save(commit=False)
                new_register.password = hash_func(inp_password) \
                                            .hexdigest()
                new_register.save()

                user_object = get_object_or_404(User_info, \
                        username=inp_username)

                # Optional image upload processing and saving
                if 'image' in request.FILES:
                    profile_image = request.FILES['image']
                    profile_image_object = ProfileImage \
                            (image=profile_image, \
                            username=user_object)
                    profile_image_object.image.name = inp_username + \
                                                    ".jpg"
                    profile_image_object.save()

                # Setting the session variables
                request.session['username'] = cleaned_reg_data['username']
                request.session['is_loggedin'] = True
                request.session['email'] = cleaned_reg_data['email']
                sendmail_after_userreg(inp_username, inp_password, inp_email)
                notify_new_user(inp_username, inp_email)
                return render_to_response('register/register_success.html',
                            {'is_loggedin':logged_in(request), \
                             'username':request.session['username']}, \
                            RequestContext(request))

            # Invalid form inputs
            else:
                error = "Invalid inputs"
                return render_to_response('register/newregister.html', {
                    'form': form,
                    'error': error
                }, RequestContext(request))

        return render_to_response('register/newregister.html',
                                  {'form': NewRegisterForm},
                                  RequestContext(request))

    except KeyError:
        return error_key(request)
예제 #19
0
파일: views.py 프로젝트: pooja33/website
def change_password(request):
    """
    A view to change the password of a logged in user
    """
    try:
        is_loggedin, username = get_session_variables(request)
        if not is_loggedin:
            return HttpResponseRedirect("/register/login")
        # POST request
        if request.method == 'POST':
            form = ChangePasswordForm(request.POST)

            # Form inputs are valid
            if form.is_valid():
                new_pass = request.POST['new_password']
                old_password = hash_func(request.POST['old_password']) \
                                .hexdigest()
                new_password = hash_func(request.POST['new_password']) \
                                .hexdigest()
                confirm_new_password = hash_func(
                                request.POST['confirm_new_password']) \
                                .hexdigest()

                user_data = User_info.objects.get(username=username)
                actual_pwd = user_data.password

                # Given current and stored passwords same
                if old_password == actual_pwd:
                    # New and current passwords user provided are not same
                    if new_password != actual_pwd:
                        # Repass and new pass are same
                        if new_password == confirm_new_password:
                            user_data.password = new_password
                            sendmail_after_pass_change( \
                                    username, \
                                    new_pass, \
                                    user_data.email)
                            user_data.save()
                            return render_to_response( \
                                    'register/pass_success.html',
                                    {'username': username, \
                                    'is_loggedin': is_loggedin}, \
                                    RequestContext(request))
                        # Repass and new pass are not same
                        else:
                            error = "New passwords doesn't match"
                            return render_to_response( \
                                    'register/change_password.html',
                                    {'form':form, \
                                    'username' :username, \
                                    'is_loggedin':is_loggedin, \
                                    'error':error}, \
                                    RequestContext(request))
                    # New and current password user provided are same
                    else:
                        error = "Your old and new password are same. Please \
                                choose a different password"
                        return render_to_response( \
                                'register/change_password.html',
                                {'form':form, \
                                'username':username, \
                                'is_loggedin':is_loggedin, \
                                'error':error}, \
                                RequestContext(request))
                # Given current and stored passwords are not same
                else:
                    error = "Current password and given password doesn't match"
                    return render_to_response( \
                            'register/change_password.html',
                            {'form':form, \
                            'username':username, \
                            'is_loggedin':is_loggedin, \
                            'error':error}, \
                            RequestContext(request))
            # Form inputs is/are invalid
            else:
                form = ChangePasswordForm()

            return render_to_response( \
                    'register/change_password.html',
                    {'form':form, \
                    'username':username, \
                    'is_loggedin':is_loggedin}, \
                    RequestContext(request))

        return render_to_response( \
                'register/change_password.html',
                {'username': username, \
                'is_loggedin': is_loggedin}, \
                RequestContext(request))

    except KeyError:
        return error_key(request)
예제 #20
0
파일: views.py 프로젝트: pooja33/website
def login(request):
    """
    A view to evaluate login form
    """
    try:
        # If the user is already loggedin never show the login page
        if logged_in(request):
            return render_to_response('register/logged_in.html', \
                    RequestContext(request))

        # Upon signin button click
        if request.method == 'POST':
            form = LoginForm(request.POST)

            # Form has all valid entries
            if form.is_valid():
                cleaned_login_data = form.cleaned_data
                inp_username = cleaned_login_data['username']
                inp_password = cleaned_login_data['password']
                hashed_password = hash_func(inp_password).hexdigest()
                user_tuple = User_info.objects.all().filter \
                        (username = inp_username)

                # There exist an entry in table with the given username
                if user_tuple:
                    actual_pwd = user_tuple[0].password

                    # Password matches: session validation
                    if actual_pwd == hashed_password:
                        request.session['is_loggedin'] = True
                        request.session['username'] = inp_username
                        request.session['email'] = user_tuple[0].email
                        return HttpResponseRedirect('/')

                    # Invalid password
                    else:
                        error = "Invalid password. Is it really you, " + \
                                str(inp_username) + "?"
                        return render_to_response('register/login.html', \
                                {'form':form, 'error':error},
                                RequestContext(request))

                # There's no entry in the table with the given username
                else:
                    error = "User doesn't exist!"
                    return render_to_response('register/login.html', \
                            {'form':form, 'error':error},
                            RequestContext(request))

            # Invalid form inputs
            else:
                error = "Invalid username and password"
                return render_to_response('register/login.html', {
                    'form': form,
                    'error': error
                }, RequestContext(request))

        # 'GET' request i.e refresh
        else:
            # User is logged in and hence redirect to home page
            if 'is_loggedin' in request.session and \
                   request.session['is_loggedin']:
                return HttpResponseRedirect('/')
        # User is not logged in and refresh the page
            else:
                form = LoginForm()

        return render_to_response('register/login.html', {'form': form},
                                  RequestContext(request))

    except KeyError:
        return error_key(request)
예제 #21
0
파일: views.py 프로젝트: Anagha22/arts_fest
def change_password(request):
    """
    A view to change the password of a logged in user
    """
    try:
        is_loggedin, username = get_session_variables(request)
        if not is_loggedin:
            return HttpResponseRedirect("/register/login")
        # POST request 
        if request.method == 'POST':
            form = ChangePasswordForm(request.POST)

            # Form inputs are valid
            if form.is_valid():
                new_pass = request.POST['new_password']
               	old_password = hash_func(request.POST['old_password']) \
                                .hexdigest()
                new_password = hash_func(request.POST['new_password']) \
                                .hexdigest()
                confirm_new_password = hash_func(
                                request.POST['confirm_new_password']) \
                                .hexdigest()

                user_data = User_info.objects.get(username = username)
                actual_pwd = user_data.password
                
                # Given current and stored passwords same
                if old_password == actual_pwd:
                    # New and current passwords user provided are not same 
                    if new_password != actual_pwd:
                        # Repass and new pass are same
                        if new_password == confirm_new_password:
                            user_data.password = new_password
                            sendmail_after_pass_change( \
                                    username, \
                                    new_pass, \
                                    user_data.email)
                            user_data.save()
                            return render_to_response( \
                                    'register/pass_success.html',
                                    {'username': username, \
                                    'is_loggedin': is_loggedin}, \
                                    RequestContext(request))
                        # Repass and new pass are not same
                        else:
                            error = "New passwords doesn't match"
                            return render_to_response( \
                                    'register/change_password.html', 
                                    {'form':form, \
                                    'username' :username, \
                                    'is_loggedin':is_loggedin, \
                                    'error':error}, \
                                    RequestContext(request))
                    # New and current password user provided are same
                    else:
                        error = "Your old and new password are same. Please \
                                choose a different password"
                        return render_to_response( \
                                'register/change_password.html', 
                                {'form':form, \
                                'username':username, \
                                'is_loggedin':is_loggedin, \
                                'error':error}, \
                                RequestContext(request))
                # Given current and stored passwords are not same
                else:
                    error = "Current password and given password doesn't match"
                    return render_to_response( \
                            'register/change_password.html', 
                            {'form':form, \
                            'username':username, \
                            'is_loggedin':is_loggedin, \
                            'error':error}, \
                            RequestContext(request))
            # Form inputs is/are invalid
            else:
                form = ChangePasswordForm()

            return render_to_response( \
                    'register/change_password.html', 
                    {'form':form, \
                    'username':username, \
                    'is_loggedin':is_loggedin}, \
                    RequestContext(request))

        return render_to_response( \
                'register/change_password.html',
                {'username': username, \
                'is_loggedin': is_loggedin}, \
                RequestContext(request))

    except KeyError:
        return error_key(request)