Exemple #1
0
def reset_password_makenew(request, enc, user, key):
    from flowgram.core.mail import validate_password_reset_hash

    if request.method == 'POST':
        if not validate_password_reset_hash(user, key):
            raise Http404
        new_password = request.POST['new_password']
        user.set_password(new_password)
        user.save()
        helpers.add_good_message(request, "Your new password was set.")
        return HttpResponseRedirect('/you/')

    if not user or not key:
        helpers.add_bad_message(request,
                                "Please make sure you copied the whole URL from your email.")
        return HttpResponseRedirect('/reset/')

    if not validate_password_reset_hash(user, key):
        helpers.add_bad_message(
            request,
            'Please make sure you copied the whole URL from your email. If the email is more than one day old, request a new email on this page.')
        return HttpResponseRedirect('/reset/')

    return helpers.req_render_to_response(request,
                                          'user/enter_new_password.html',
                                          {'user': user,
                                           'key': key})
Exemple #2
0
def delete_flowgram(request, enc, flowgram):
    if request.method == 'POST':
        list_page = flowgram.owner.get_profile().url()
        helpers.add_bad_message(request, "Flowgram \"%s\" was deleted" % flowgram.title)
        flowgram.delete()
        return HttpResponseRedirect('/you/')
    else:
        return helpers.req_render_to_response(request, 'dialogs/delete_fg.html', {'fg': flowgram})
Exemple #3
0
def reset_password_post(request, enc, user, email):
    from flowgram.core.mail import reset_password

    if email:
        try:
            user = auth_models.User.objects.get(email=email)
        except auth_models.User.DoesNotExist:
            helpers.add_bad_message(request, "No account was found for that email address.")
            return helpers.req_render_to_response(request, 'user/reset_password.html')
    
    if not user:
        helpers.add_bad_message(request, "You must enter your username or email.")
        return helpers.req_render_to_response(request, 'user/reset_password.html')
        
    if reset_password(user):
        helpers.add_good_message(request, "Your password reset email has been sent. Follow the emailed instructions.")
        return helpers.req_render_to_response(request, 'user/reset_password.html')
    else:
        helpers.add_bad_message(request, "We were unable to reach your account email address.")
        return helpers.req_render_to_response(request, 'user/reset_password.html')
Exemple #4
0
def admin_files(request, enc, file_to_delete):
    form = forms.AdminFilesForm()
    root_url = localsettings.INTERNAL_MEDIA_URL
    dirlist = os.listdir(localsettings.INTERNAL_MEDIA_ROOT)
    
    if request.method == 'POST':
        form = forms.AdminFilesForm(request.POST, request.FILES)
        if form.is_valid():
            filename_prefix = form.cleaned_data['filename_prefix']
            file = request.FILES['image']
            content = file['content']
            content_type = file['content-type']
            file_extension = ''
            if content_type == 'image/png':
                file_extension = '.png'
            elif content_type == 'image/jpeg':
                file_extension = '.jpg'
            elif content_type == 'image/gif':
                file_extension = '.gif'
            filename = filename_prefix + '_' + str(int(time.mktime(datetime.datetime.now().timetuple()))) + file_extension
            f = open(localsettings.INTERNAL_MEDIA_ROOT + filename, 'wb')
            f.write(content)
            f.close()
            file_path = localsettings.INTERNAL_MEDIA_URL + filename
            helpers.add_good_message(request, "Image upload successful.  Filepath is: %s" % file_path)
        else:
            helpers.add_bad_message(request, "There was a problem.  sadtrombone.com")
        
        # refresh directory listing
        dirlist = os.listdir(localsettings.INTERNAL_MEDIA_ROOT)
        
        return helpers.req_render_to_response(
            request,
            "admin/admin_files.html",
            {
                'form': form,
                'dirlist': dirlist,
                'root_url': root_url,
            })
    
    # request.method == 'GET'
    counter = 0
    if file_to_delete != '': # deleting file
        file_to_delete = int(file_to_delete)
        for filename in dirlist:
            if file_to_delete == counter:
                os.remove(localsettings.INTERNAL_MEDIA_ROOT + filename)
                # refresh directory listing
                dirlist = os.listdir(localsettings.INTERNAL_MEDIA_ROOT)
                helpers.add_good_message(request, "You deleted a file: %s" % filename)
                return HttpResponseRedirect('/adminfiles/')   
            counter += 1
        
    # refresh directory listing
    dirlist = os.listdir(localsettings.INTERNAL_MEDIA_ROOT)

    return helpers.req_render_to_response(
        request,
        "admin/admin_files.html",
        {
            'form': form,
            'dirlist': dirlist,
            'root_url': root_url,
        })