edit.blade.php•6.07 kB
@extends('layout')
@section('title', 'Edit Database Connection')
@section('content')
<div class="px-4 sm:px-6 lg:px-8">
<div class="max-w-2xl mx-auto">
<div class="mb-6">
<h1 class="text-2xl font-semibold text-gray-900">Edit Database Connection</h1>
<p class="mt-2 text-sm text-gray-700">Update connection settings for "{{ $connection->connection_name }}".</p>
</div>
<form action="{{ route('connections.update', $connection) }}" method="POST" class="space-y-6">
@csrf
@method('PUT')
<div>
<label for="connection_name" class="block text-sm font-medium text-gray-700">Connection Name</label>
<input type="text" name="connection_name" id="connection_name" value="{{ old('connection_name', $connection->connection_name) }}" required
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm">
<p class="mt-1 text-xs text-gray-500">Unique identifier for this connection</p>
</div>
<div>
<label for="driver" class="block text-sm font-medium text-gray-700">Database Driver</label>
<select name="driver" id="driver" required class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm">
<option value="">Select a driver</option>
<option value="mysql" {{ old('driver', $connection->driver) === 'mysql' ? 'selected' : '' }}>MySQL</option>
<option value="pgsql" {{ old('driver', $connection->driver) === 'pgsql' ? 'selected' : '' }}>PostgreSQL</option>
<option value="sqlite" {{ old('driver', $connection->driver) === 'sqlite' ? 'selected' : '' }}>SQLite</option>
<option value="sqlsrv" {{ old('driver', $connection->driver) === 'sqlsrv' ? 'selected' : '' }}>SQL Server</option>
</select>
</div>
<div class="grid grid-cols-1 gap-6 sm:grid-cols-2">
<div>
<label for="host" class="block text-sm font-medium text-gray-700">Host</label>
<input type="text" name="host" id="host" value="{{ old('host', $connection->host) }}"
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm">
</div>
<div>
<label for="port" class="block text-sm font-medium text-gray-700">Port</label>
<input type="number" name="port" id="port" value="{{ old('port', $connection->port) }}" min="1" max="65535"
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm">
</div>
</div>
<div>
<label for="database" class="block text-sm font-medium text-gray-700">Database Name</label>
<input type="text" name="database" id="database" value="{{ old('database', $connection->database) }}" required
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm">
</div>
<div class="grid grid-cols-1 gap-6 sm:grid-cols-2">
<div>
<label for="username" class="block text-sm font-medium text-gray-700">Username</label>
<input type="text" name="username" id="username" value="{{ old('username', $connection->username) }}"
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm">
</div>
<div>
<label for="password" class="block text-sm font-medium text-gray-700">Password</label>
<input type="password" name="password" id="password" placeholder="Leave blank to keep current password"
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm">
<p class="mt-1 text-xs text-gray-500">Leave blank to keep current password</p>
</div>
</div>
<div>
<label for="description" class="block text-sm font-medium text-gray-700">Description</label>
<textarea name="description" id="description" rows="3"
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm">{{ old('description', $connection->description) }}</textarea>
<p class="mt-1 text-xs text-gray-500">Optional description for this connection</p>
</div>
<div class="flex items-center">
<input type="checkbox" name="is_active" id="is_active" value="1" {{ old('is_active', $connection->is_active) ? 'checked' : '' }}
class="h-4 w-4 text-indigo-600 focus:ring-indigo-500 border-gray-300 rounded">
<label for="is_active" class="ml-2 block text-sm text-gray-900">Active</label>
</div>
<div class="flex justify-end space-x-3">
<a href="{{ route('connections.index') }}" class="inline-flex items-center px-4 py-2 border border-gray-300 text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
Cancel
</a>
<button type="submit" class="inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
Update Connection
</button>
</div>
</form>
</div>
</div>
@endsection