コード例 #1
0
def upload(request):                                                                                                                                                                   
    error = None
    success = request.GET.get('success', False)
    if success:
        success = 'Successfully Uploaded'
    if request.method == "POST":
        form = forms.UploadFormDesktopUpload(request.POST, request.FILES)
        try:
            if form.is_valid():
                f = form.save(commit=False)
                if request.POST.get('binary_blob-clear'):
                    f.binary_blob.delete()
                if f.user:
                    f.email_address = f.user.username
                f.save()
                items = []
                items.append({'user': request.user})
                items.append({'asset_tag': f.asset_tag})
                items.append({'duser': f.email_address})
                log_cef("AdminCreate", "Desktop Admin Created key for key for %s - %s" % (f.email_address, f.asset_tag), items)
                return HttpResponseRedirect(reverse('desktop_admin'))
                success = 1
        except ValueError:
            error = 'Validation Failed'
        except Exception, e:
            error = 'An unknown error has occured %s' % e
コード例 #2
0
def upload(request):
    error = None
    success = request.GET.get('success', False)
    if success:
        success = 'Successfully Uploaded'
    if request.method == "POST":
        form = forms.UploadFormDesktopUpload(request.POST, request.FILES)
        try:
            if form.is_valid():
                f = form.save(commit=False)
                if request.POST.get('binary_blob-clear'):
                    f.binary_blob.delete()
                if f.user:
                    f.email_address = f.user.username
                f.save()
                items = [{
                    'user': request.user
                }, {
                    'asset_tag': f.asset_tag
                }, {
                    'duser': f.email_address
                }]
                log_cef("AdminCreate",
                        "Desktop Admin Created key for key for %s - %s" %
                        (f.email_address, f.asset_tag), items)  # noqa
                return HttpResponseRedirect(reverse('desktop_admin'))
        except ValueError:
            error = 'Validation Failed'
        except Exception, e:
            error = 'An unknown error has occurred %s' % e
コード例 #3
0
def detail(request, id):                                                                                                                                                                   
    error = None
    success = request.GET.get('success', False)
    disk = get_object_or_404(site_models.EncryptedDisk, id=id)
    if success:
        success = 'Successfully Uploaded'
    if request.method == "POST":
        form = forms.UploadFormDesktop(request.POST, request.FILES, instance=disk)
        try:
            if form.is_valid():
                f = form.save(commit=False)
                if request.POST.get('binary_blob-clear'):
                    f.binary_blob.delete()
                if f.user:
                    f.email_address = f.user.username
                f.save()
                items = []
                items.append({'suser': request.user})
                items.append({'cs1Label': 'asset_tag'})
                items.append({'cs1': disk.asset_tag})
                items.append({'cs2Label': 'id'})
                items.append({'cs2': id})
                items.append({'duser': f.email_address})
                log_cef("AdminUpdate", "Desktop Admin Updated info for %s - %s" % (f.email_address, f.asset_tag), items)
                success = 1
            return HttpResponseRedirect('?success=%s' % success)
        except ValueError:
            error = 'Validation Failed'
        except Exception, e:
            error = 'An unknown error has occured %s' % e
コード例 #4
0
def upload(request):                                                                                                                                                                   
    error = None
    success = request.GET.get('success', False)
    items = []
    items.append({'suser': request.user})
    log_cef("UserUpload", "User uploaded new key", items)
    if success:
        success = 'Successfully Uploaded'
    if request.method == "POST":
        form = forms.UploadFormUser(request.POST, request.FILES)
        try:
            f = form.save(commit=False)
            f.user = request.user
            f.email_address = request.user.username
            f.save()
            success = 1
            items = []
            items.append({'user': request.user})
            items.append({'asset_tag': f.asset_tag})
            log_cef("UserUpload", "User uploaded new key", items)
            return HttpResponseRedirect('?success=%s' % success)
        except ValueError:
            error = 'Validation Failed'
        except Exception, e:
            error = 'An unknown error has occured %s' % e
コード例 #5
0
def detail(request, id):
    error = None
    success = request.GET.get('success', False)
    disk = get_object_or_404(site_models.EncryptedDisk, id=id)
    if success:
        success = 'Successfully Uploaded'
    if request.method == "POST":
        form = forms.UploadFormDesktop(request.POST,
                                       request.FILES,
                                       instance=disk)
        try:
            if form.is_valid():
                f = form.save(commit=False)
                if request.POST.get('binary_blob-clear'):
                    f.binary_blob.delete()
                if f.user:
                    f.email_address = f.user.username
                f.save()
                items = []
                items.append({'suser': request.user})
                items.append({'cs1Label': 'asset_tag'})
                items.append({'cs1': disk.asset_tag})
                items.append({'cs2Label': 'id'})
                items.append({'cs2': id})
                items.append({'duser': f.email_address})
                log_cef(
                    "AdminUpdate", "Desktop Admin Updated info for %s - %s" %
                    (f.email_address, f.asset_tag), items)
                success = 1
            return HttpResponseRedirect('?success=%s' % success)
        except ValueError:
            error = 'Validation Failed'
        except Exception, e:
            error = 'An unknown error has occured %s' % e
コード例 #6
0
def upload(request):
    error = None
    success = request.GET.get('success', False)
    items = []
    items.append({'suser': request.user})
    log_cef("UserUpload", "User uploaded new key", items)
    if success:
        success = 'Successfully Uploaded'
    if request.method == "POST":
        form = forms.UploadFormUser(request.POST, request.FILES)
        try:
            f = form.save(commit=False)
            f.user = request.user
            f.email_address = request.user.username
            f.save()
            success = 1
            items = []
            items.append({'user': request.user})
            items.append({'asset_tag': f.asset_tag})
            log_cef("UserUpload", "User uploaded new key", items)
            return HttpResponseRedirect('?success=%s' % success)
        except ValueError:
            error = 'Validation Failed'
        except Exception, e:
            error = 'An unknown error has occured %s' % e
コード例 #7
0
def login_view(request):
    logout(request)
    username = ""
    password = ""
    error = None
    initial = {'username': username, 'password': password}
    if request.method == "POST":
        form = forms.LoginForm(request.POST)
        if form.is_valid():
            user = authenticate(username=form.cleaned_data['username'],
                                password=form.cleaned_data['password'])
            if user:
                login(request, user)
            if user is not None:
                items = [{
                    'suser': username
                }, {
                    'cs1Label': 'LoginSuccess'
                }, {
                    'cs1': 'True'
                }]
                log_cef("LoginSuccess", "Login Succeeded For %s" % user.email,
                        items)  # noqa
                if hasattr(user, 'is_desktop') and user.is_desktop:
                    """
                        Per bug #822396
                        Redirecting all logins to reverse('upload')
                        I can't replicate in dev, so going to test
                        to see if the issue is based on something
                        specific to an ldap bit for the user
                    """
                    return HttpResponseRedirect(reverse('upload'))
                else:
                    return HttpResponseRedirect(reverse('upload'))
            else:
                items = [{
                    'suser': username
                }, {
                    'cs1Label': 'LoginSuccess'
                }, {
                    'cs1': 'False'
                }]
                log_cef("LoginFail", "Login Failed For %s" % username, items)
                error = 'Invalid Username/Password'
        else:
            error = 'Please supply both a username and password'
    else:
        form = forms.LoginForm(initial=initial)
    return render(request, 'login.html', {
        'username': username,
        'password': password,
        'form': form,
        'error': error,
    })
コード例 #8
0
def login_view(request):
    logout(request)
    username = ""
    password = ""
    error = None
    initial = {
            'username': username,
            'password': password
            }
    if request.method == "POST":
        form = forms.LoginForm(request.POST)
        if form.is_valid():
            user = authenticate(
                    username=form.cleaned_data['username'],
                    password=form.cleaned_data['password']
                    )
            if user:
                login(request, user)
            if user is not None:
                items = [
                    {'suser': username},
                    {'cs1Label': 'LoginSuccess'},
                    {'cs1': 'True'}
                ]
                log_cef("LoginSuccess", "Login Succeeded For %s" % user.email, items)  # noqa
                if hasattr(user, 'is_desktop') and user.is_desktop:
                    """
                        Per bug #822396
                        Redirecting all logins to reverse('upload')
                        I can't replicate in dev, so going to test
                        to see if the issue is based on something
                        specific to an ldap bit for the user
                    """
                    return HttpResponseRedirect(reverse('upload'))
                else:
                    return HttpResponseRedirect(reverse('upload'))
            else:
                items = [
                    {'suser': username},
                    {'cs1Label': 'LoginSuccess'},
                    {'cs1': 'False'}
                ]
                log_cef("LoginFail", "Login Failed For %s" % username, items)
                error = 'Invalid Username/Password'
        else:
            error = 'Please supply both a username and password'
    else:
        form = forms.LoginForm(initial=initial)
    return render(request, 'login.html', {
        'username': username,
        'password': password,
        'form': form,
        'error': error,
        })
コード例 #9
0
def download_attach(request, filename):
    # Read file from database
    storage = DatabaseStorage(DBS_OPTIONS)
    gpg_file = storage.open(filename, 'rb')
    if not gpg_file:
        raise Http404
    file_content = gpg_file.read()

    # Prepare response
    content_type, content_encoding = mimetypes.guess_type(filename)
    response = HttpResponse(content=file_content, content_type=content_type)
    response['Content-Disposition'] = 'inline; filename=%s' % filename
    if content_encoding:
        response['Content-Encoding'] = content_encoding
    log_cef("AdminDownload", "Desktop Admin downloaded file %s" % filename)
    return response
コード例 #10
0
def download_attach(request, filename):
        # Read file from database
        storage = DatabaseStorage(DBS_OPTIONS)
        gpg_file = storage.open(filename, 'rb')
        if not gpg_file:
            raise Http404
        file_content = gpg_file.read()

        # Prepare response
        content_type, content_encoding = mimetypes.guess_type(filename)
        response = HttpResponse(
                content=file_content,
                content_type=content_type
                )
        response['Content-Disposition'] = 'inline; filename=%s' % filename
        if content_encoding:
            response['Content-Encoding'] = content_encoding
        log_cef("AdminDownload", "Desktop Admin downloaded file %s" % filename)
        return response
コード例 #11
0
def upload(request):
    error = None
    success = request.GET.get('success', False)
    items = [{'suser': request.user}]
    log_cef("UserUpload", "User uploaded new key", items)
    if success:
        success = 'Successfully Uploaded'
    if request.method == "POST":
        form = forms.UploadFormUser(request.POST, request.FILES)
        if form.is_valid():
            try:
                f = form.save(commit=False)
                f.user = request.user
                f.email_address = request.user.username
                if form.cleaned_data['binary_blob']:
                    f.file_data = form.cleaned_data['binary_blob']
                    f.file_name = form.files['binary_blob'].name
                f.save()
                success = 1
                items = [{'user': request.user}, {'asset_tag': f.asset_tag}]
                log_cef("UserUpload", "User uploaded new key", items)
                return HttpResponseRedirect('?success=%s' % success)
            except ValueError:
                error = 'Validation Failed'
            except Exception as e:
                error = 'An unknown error has occurred %s' % e
        else:
            form = forms.UploadFormUser()
            error = form.errors
    else:
        form = forms.UploadFormUser()
    return render(request, 'upload.html', {
        'form': form,
        'success': success,
        'error': error,
    })
コード例 #12
0
                success = 1
            return HttpResponseRedirect('?success=%s' % success)
        except ValueError:
            error = 'Validation Failed'
        except Exception, e:
            error = 'An unknown error has occured %s' % e
    else:
        form = forms.UploadFormDesktop(instance=disk)
        items = []
        items.append({'suser': request.user})
        items.append({'cs1Label': 'asset_tag'})
        items.append({'cs1': disk.asset_tag})
        items.append({'cs2Label': 'id'})
        items.append({'cs2': id})
        items.append({'duser': disk.email_address})
        log_cef("AdminView", "Desktop Admin viewed info for %s - %s" % (disk.email_address, disk.asset_tag), items)
    return render_to_response('detail.html', {
        'form': form,
        'id': id,
        'success': success,
        'error': error,
        },
        RequestContext(request))

@user_passes_test(lambda u: u.is_staff, login_url='/login/')
def upload(request):                                                                                                                                                                   
    error = None
    success = request.GET.get('success', False)
    if success:
        success = 'Successfully Uploaded'
    if request.method == "POST":
コード例 #13
0
    else:
        form = forms.UploadFormDesktop(instance=disk)
        items = [{
            'suser': request.user
        }, {
            'cs1Label': 'asset_tag'
        }, {
            'cs1': disk.asset_tag
        }, {
            'cs2Label': 'id'
        }, {
            'cs2': id_value
        }, {
            'duser': disk.email_address
        }]
        log_cef("AdminView", "Desktop Admin viewed info for %s - %s" %
                (disk.email_address, disk.asset_tag), items)  # noqa
    return render(request, 'detail.html', {
        'form': form,
        'id': id_value,
        'success': success,
        'error': error,
    })


@user_has_claim
def upload(request):
    error = None
    success = request.GET.get('success', False)
    if success:
        success = 'Successfully Uploaded'
    if request.method == "POST":
コード例 #14
0
def detail(request, id_value):
    error = None
    success = request.GET.get('success', False)
    disk = get_object_or_404(site_models.EncryptedDisk, id=id_value)
    if success:
        success = 'Successfully Uploaded'
    if request.method == "POST":
        form = forms.UploadFormDesktop(request.POST,
                                       request.FILES,
                                       instance=disk)
        try:
            if form.is_valid():
                f = form.save(commit=False)
                if request.POST.get('binary_blob-clear'):
                    f.binary_blob.delete()
                if form.cleaned_data['binary_blob']:
                    if isinstance(form.cleaned_data['binary_blob'],
                                  InMemoryUploadedFile):
                        t_file = form.cleaned_data['binary_blob']
                        t_file.seek(0)
                        f.file_data = t_file.read()
                if f.user:
                    f.email_address = f.user.username
                f.save()
                items = [{
                    'suser': request.user
                }, {
                    'cs1Label': 'asset_tag'
                }, {
                    'cs1': disk.asset_tag
                }, {
                    'cs2Label': 'id'
                }, {
                    'cs2': id_value
                }, {
                    'duser': f.email_address
                }]
                log_cef("AdminUpdate",
                        "Desktop Admin Updated info for %s - %s" %
                        (f.email_address, f.asset_tag), items)  # noqa
                success = 1
            return HttpResponseRedirect('?success=%s' % success)
        except ValueError:
            error = 'Validation Failed'
        except Exception as e:
            error = 'An unknown error has occurred %s' % e
    else:
        disk.recovery_key = re.sub("^b'", "", disk.recovery_key)
        disk.recovery_key = re.sub("'$", "", disk.recovery_key)
        form = forms.UploadFormDesktop(instance=disk)
        items = [{
            'suser': request.user
        }, {
            'cs1Label': 'asset_tag'
        }, {
            'cs1': disk.asset_tag
        }, {
            'cs2Label': 'id'
        }, {
            'cs2': id_value
        }, {
            'duser': disk.email_address
        }]
        log_cef("AdminView", "Desktop Admin viewed info for %s - %s" %
                (disk.email_address, disk.asset_tag), items)  # noqa
    return render(
        request, 'detail.html', {
            'form': form,
            'id': id_value,
            'disk': disk,
            'success': success,
            'error': error,
        })