(bugfix) Add SSH private key file upload
Allow SSH credentials to be created from an uploaded private key file as an alternative to pasting the key into a textarea. Use multipart form handling in the credential views so server-side keys can be imported without copy/paste wrapping or formatting damage. Cover the upload path with a view test while keeping existing pasted key validation behavior intact.
This commit is contained in:
@@ -83,7 +83,7 @@ def ssh_credentials(request):
|
||||
@staff_member_required
|
||||
def create_ssh_credential(request):
|
||||
if request.method == "POST":
|
||||
form = SshCredentialForm(request.POST)
|
||||
form = SshCredentialForm(request.POST, request.FILES)
|
||||
if form.is_valid():
|
||||
credential = form.save()
|
||||
messages.success(request, f"SSH credential saved for {credential.name}.")
|
||||
@@ -105,7 +105,7 @@ def create_ssh_credential(request):
|
||||
def edit_ssh_credential(request, credential_id: int):
|
||||
credential = get_object_or_404(SshCredential, id=credential_id)
|
||||
if request.method == "POST":
|
||||
form = SshCredentialForm(request.POST, instance=credential)
|
||||
form = SshCredentialForm(request.POST, request.FILES, instance=credential)
|
||||
if form.is_valid():
|
||||
saved_credential = form.save()
|
||||
messages.success(request, f"SSH credential saved for {saved_credential.name}.")
|
||||
|
||||
Reference in New Issue
Block a user