Example #1
0
def dc_user_profile_sshkey_modal_form(request, username, action):
    """
    Ajax page for adding or deleting SSH keys.
    """
    user = get_edited_user(request, username)

    if action == 'add':
        sform = SSHKeyForm(request, None, request.POST)
        if sform.is_valid():
            status = sform.save(action='create', args=(user.username, sform.cleaned_data['name']))
            if status == 201:
                messages.success(request, _('SSH key was successfully saved'))
                return redirect('dc_user_profile', user.username)

        return render(request, 'gui/profile/profile_sshkey_form.html', {
            'user': user,
            'sform': sform
        }, status=200)

    elif action == 'delete':
        res = SSHKeyForm.api_call('delete', None, request, args=(user.username, request.POST.get('name')))
        status = res.status_code
        if status == 200:
            messages.success(request, _('SSH key was successfully removed'))
            return redirect('dc_user_profile', user.username)

        return render(request, 'gui/profile/profile_sshkey_list.html', {
            'user': user,
            'ssh_keys': user.usersshkey_set.all().order_by('id')
        }, status=status)
Example #2
0
def dc_user_profile(request, username):
    """
    User Profile management.
    """
    user = get_edited_user(request, username, sr=('dc_bound', 'userprofile'))
    profile = user.userprofile
    context = collect_view_data(request, 'dc_user_list')
    context['uform'] = AdminUserForm(request, user, init=True)
    context['upform'] = AdminUserProfileForm(request, profile, init=True)
    context['pform'] = AdminChangePasswordForm(user)
    context['sform'] = SSHKeyForm(request, user)
    context['user'] = user
    context['profile'] = profile
    context['ssh_keys'] = user.usersshkey_set.all().order_by('id')
    if not request.user.is_staff:
        context['disabled_api_key'] = True

    return render(request, 'gui/dc/profile/user_profile.html', context)
Example #3
0
def index(request):
    """
    User profile page.
    """
    user = request.user
    profile = user.userprofile
    context = collect_view_data(request, 'profile')
    context['user'] = user
    context['profile'] = profile
    context['uform'] = UserForm(request, request.user, init=True)
    context['upform'] = UserProfileForm(request, profile, init=True)
    context['pform'] = ChangePasswordForm(request.user)
    context['sform'] = SSHKeyForm(request, request.user)
    context['ssh_keys'] = request.user.usersshkey_set.all().order_by('id')
    context['email_aform'] = EmailActivationProfileForm(profile.email_token)
    context['phone_aform'] = PhoneActivationProfileForm(profile.phone_token)

    return render(request, 'gui/profile/profile.html', context)