mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -04:00
Merge pull request #5104 from joshuadwire/v5-develop
Support pre-configured installs where setup doesn't allow changing DB config
This commit is contained in:
commit
aef31d8193
@ -125,6 +125,15 @@ class SetupController extends Controller
|
||||
'DB_CONNECTION' => 'db-ninja-01',
|
||||
];
|
||||
|
||||
if(config('ninja.preconfigured_install')){
|
||||
// Database connection was already configured. Don't let the user override it.
|
||||
unset($env_values['DB_HOST1']);
|
||||
unset($env_values['DB_PORT1']);
|
||||
unset($env_values['DB_DATABASE1']);
|
||||
unset($env_values['DB_USERNAME1']);
|
||||
unset($env_values['DB_PASSWORD1']);
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
foreach ($env_values as $property => $value) {
|
||||
|
@ -33,11 +33,15 @@ class CheckDatabaseRequest extends Request
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
'db_host' => ['required'],
|
||||
'db_port' => ['required'],
|
||||
'db_database' => ['required'],
|
||||
'db_username' => ['required'],
|
||||
];
|
||||
}
|
||||
if ( config( 'ninja.preconfigured_install' ) ) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return [
|
||||
'db_host' => [ 'required' ],
|
||||
'db_port' => [ 'required' ],
|
||||
'db_database' => [ 'required' ],
|
||||
'db_username' => [ 'required' ],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
@ -150,7 +150,7 @@ class SystemHealth
|
||||
{
|
||||
$result = ['success' => false];
|
||||
|
||||
if ($request) {
|
||||
if ($request && !config('ninja.preconfigured_install')) {
|
||||
config(['database.connections.db-ninja-01.host' => $request->input('db_host')]);
|
||||
config(['database.connections.db-ninja-01.port' => $request->input('db_port')]);
|
||||
config(['database.connections.db-ninja-01.database' => $request->input('db_database')]);
|
||||
|
@ -36,6 +36,7 @@ return [
|
||||
'is_docker' => env('IS_DOCKER', false),
|
||||
'sentry_dsn' => env('SENTRY_LARAVEL_DSN', 'https://9b4e15e575214354a7d666489783904a@sentry.invoicing.co/6'),
|
||||
'environment' => env('NINJA_ENVIRONMENT', 'selfhost'), // 'hosted', 'development', 'selfhost', 'reseller'
|
||||
'preconfigured_install' => env('PRECONFIGURED_INSTALL',false),
|
||||
|
||||
// Settings used by invoiceninja.com
|
||||
|
||||
|
2
public/js/setup/setup.js
vendored
2
public/js/setup/setup.js
vendored
File diff suppressed because one or more lines are too long
@ -16,6 +16,6 @@
|
||||
"/js/clients/quotes/approve.js": "/js/clients/quotes/approve.js?id=85bcae0a646882e56b12",
|
||||
"/js/clients/shared/multiple-downloads.js": "/js/clients/shared/multiple-downloads.js?id=5c35d28cf0a3286e7c45",
|
||||
"/js/clients/shared/pdf.js": "/js/clients/shared/pdf.js?id=fc3055d6a099f523ea98",
|
||||
"/js/setup/setup.js": "/js/setup/setup.js?id=8c46629d6d43a29fce69",
|
||||
"/js/setup/setup.js": "/js/setup/setup.js?id=5962ec6bcebeaac71d1b",
|
||||
"/css/card-js.min.css": "/css/card-js.min.css?id=62afeb675235451543ad"
|
||||
}
|
||||
|
25
resources/js/setup/setup.js
vendored
25
resources/js/setup/setup.js
vendored
@ -23,18 +23,21 @@ class Setup {
|
||||
}
|
||||
|
||||
handleDatabaseCheck() {
|
||||
let url = document.querySelector('meta[name=setup-db-check]').content;
|
||||
let url = document.querySelector('meta[name=setup-db-check]').content,
|
||||
data = {};
|
||||
|
||||
let data = {
|
||||
db_host: document.querySelector('input[name="db_host"]').value,
|
||||
db_port: document.querySelector('input[name="db_port"]').value,
|
||||
db_database: document.querySelector('input[name="db_database"]')
|
||||
.value,
|
||||
db_username: document.querySelector('input[name="db_username"]')
|
||||
.value,
|
||||
db_password: document.querySelector('input[name="db_password"]')
|
||||
.value,
|
||||
};
|
||||
if (document.querySelector('input[name="db_host"]')) {
|
||||
data = {
|
||||
db_host: document.querySelector('input[name="db_host"]').value,
|
||||
db_port: document.querySelector('input[name="db_port"]').value,
|
||||
db_database: document.querySelector('input[name="db_database"]')
|
||||
.value,
|
||||
db_username: document.querySelector('input[name="db_username"]')
|
||||
.value,
|
||||
db_password: document.querySelector('input[name="db_password"]')
|
||||
.value,
|
||||
};
|
||||
}
|
||||
|
||||
this.checkDbButton.disabled = true;
|
||||
|
||||
|
@ -8,6 +8,7 @@
|
||||
</div>
|
||||
<div>
|
||||
<dl>
|
||||
@if (! config('ninja.preconfigured_install'))
|
||||
<div class="bg-gray-50 px-4 py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6 sm:flex sm:items-center">
|
||||
<dt class="text-sm leading-5 font-medium text-gray-500">
|
||||
You can use following commands to create user & database.
|
||||
@ -73,6 +74,7 @@ FLUSH PRIVILEGES;
|
||||
<input type="password" class="input w-full" name="db_password" value="{{ old('db_password') ?: 'ninja' }}">
|
||||
</dd>
|
||||
</div>
|
||||
@endif
|
||||
<div class="bg-white px-4 py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6 sm:flex sm:items-center">
|
||||
<dt class="text-sm leading-5 font-medium text-gray-500">
|
||||
<button type="button" class="button button-primary bg-blue-600 py-2 px-3 text-xs" id="test-db-connection">
|
||||
|
Loading…
x
Reference in New Issue
Block a user