mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-10-20 19:52:04 +00:00
Replaces `Gitea` with `Forgejo` in the default config settings for new installs. This will not affect existing installs. Co-authored-by: Caesar Schinas <caesar@caesarschinas.com> Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/140 Co-authored-by: Caesar Schinas <caesar@noreply.codeberg.org> Co-committed-by: Caesar Schinas <caesar@noreply.codeberg.org> (cherry picked from commitca1319aa16) (cherry picked from commit52a4d238a0) (cherry picked from commitf63536538c) Conflicts: web_src/js/features/install.js (cherry picked from commit861cc434e1) (cherry picked from commit0e6ea60c80) (cherry picked from commit0cbc0ec15d) (cherry picked from commit3cc19b0ae2) (cherry picked from commit50fcb885fe) (cherry picked from commitf6039d4df4) (cherry picked from commit5ae5c6ba2d) (cherry picked from commitf0b565e0ed) (cherry picked from commitadbd4d2015) (cherry picked from commitd26c540ffd) (cherry picked from commit6df6781b42) (cherry picked from commitb6fb56e1c4) (cherry picked from commitbb4f98a0ca) (cherry picked from commit6779229f27) (cherry picked from commitc216c85aee) (cherry picked from commitdff780bced) (cherry picked from commit4e036aa3b6) (cherry picked from commit8b3bc3e8a6) (cherry picked from commit1e4d852332) (cherry picked from commit07a15d1844) (cherry picked from commitfb44b3e10d) (cherry picked from commitb212d83319) (cherry picked from commit5754971be5) (cherry picked from commit0c43b4e82c) Conflicts: routers/install/install.go https://codeberg.org/forgejo/forgejo/pulls/1351 (cherry picked from commit2e22a7208a) (cherry picked from commit676b0a8a48) (cherry picked from commitbc4a8bf9bc) (cherry picked from commit5e09a4e174) (cherry picked from commit712c52a32a) (cherry picked from commitba3d93cc4a) (cherry picked from commita5a0396abc) (cherry picked from commit09b205f30b) (cherry picked from commit52b7729e86) (cherry picked from commitbfe78735e8) (cherry picked from commit915c4f7a7b) (cherry picked from commit3b1af856bb) (cherry picked from commitffe2c0a353) (cherry picked from commitfd5cc72128) (cherry picked from commit95d3555e47) (cherry picked from commitb9b853f4b0) (cherry picked from commit967453eb6f) (cherry picked from commit3298f502dd) (cherry picked from commit3481d1f816) (cherry picked from commit7508c24a0c) (cherry picked from commit54e97f7c35) (cherry picked from commit492876992f)
123 lines
3.5 KiB
JavaScript
123 lines
3.5 KiB
JavaScript
import $ from 'jquery';
|
|
import {hideElem, showElem} from '../utils/dom.js';
|
|
import {GET} from '../modules/fetch.js';
|
|
|
|
export function initInstall() {
|
|
const $page = $('.page-content.install');
|
|
if ($page.length === 0) {
|
|
return;
|
|
}
|
|
if ($page.is('.post-install')) {
|
|
initPostInstall();
|
|
} else {
|
|
initPreInstall();
|
|
}
|
|
}
|
|
|
|
function initPreInstall() {
|
|
const defaultDbUser = 'forgejo';
|
|
const defaultDbName = 'forgejo';
|
|
|
|
const defaultDbHosts = {
|
|
mysql: '127.0.0.1:3306',
|
|
postgres: '127.0.0.1:5432',
|
|
mssql: '127.0.0.1:1433'
|
|
};
|
|
|
|
const $dbHost = $('#db_host');
|
|
const $dbUser = $('#db_user');
|
|
const $dbName = $('#db_name');
|
|
|
|
// Database type change detection.
|
|
$('#db_type').on('change', function () {
|
|
const dbType = $(this).val();
|
|
hideElem($('div[data-db-setting-for]'));
|
|
showElem($(`div[data-db-setting-for=${dbType}]`));
|
|
|
|
if (dbType !== 'sqlite3') {
|
|
// for most remote database servers
|
|
showElem($(`div[data-db-setting-for=common-host]`));
|
|
const lastDbHost = $dbHost.val();
|
|
const isDbHostDefault = !lastDbHost || Object.values(defaultDbHosts).includes(lastDbHost);
|
|
if (isDbHostDefault) {
|
|
$dbHost.val(defaultDbHosts[dbType] ?? '');
|
|
}
|
|
if (!$dbUser.val() && !$dbName.val()) {
|
|
$dbUser.val(defaultDbUser);
|
|
$dbName.val(defaultDbName);
|
|
}
|
|
} // else: for SQLite3, the default path is always prepared by backend code (setting)
|
|
}).trigger('change');
|
|
|
|
const $appUrl = $('#app_url');
|
|
const configAppUrl = $appUrl.val();
|
|
if (configAppUrl.includes('://localhost')) {
|
|
$appUrl.val(window.location.href);
|
|
}
|
|
|
|
const $domain = $('#domain');
|
|
const configDomain = $domain.val().trim();
|
|
if (configDomain === 'localhost') {
|
|
$domain.val(window.location.hostname);
|
|
}
|
|
|
|
// TODO: better handling of exclusive relations.
|
|
$('#offline-mode input').on('change', function () {
|
|
if ($(this).is(':checked')) {
|
|
$('#disable-gravatar').checkbox('check');
|
|
$('#federated-avatar-lookup').checkbox('uncheck');
|
|
}
|
|
});
|
|
$('#disable-gravatar input').on('change', function () {
|
|
if ($(this).is(':checked')) {
|
|
$('#federated-avatar-lookup').checkbox('uncheck');
|
|
} else {
|
|
$('#offline-mode').checkbox('uncheck');
|
|
}
|
|
});
|
|
$('#federated-avatar-lookup input').on('change', function () {
|
|
if ($(this).is(':checked')) {
|
|
$('#disable-gravatar').checkbox('uncheck');
|
|
$('#offline-mode').checkbox('uncheck');
|
|
}
|
|
});
|
|
$('#enable-openid-signin input').on('change', function () {
|
|
if ($(this).is(':checked')) {
|
|
if (!$('#disable-registration input').is(':checked')) {
|
|
$('#enable-openid-signup').checkbox('check');
|
|
}
|
|
} else {
|
|
$('#enable-openid-signup').checkbox('uncheck');
|
|
}
|
|
});
|
|
$('#disable-registration input').on('change', function () {
|
|
if ($(this).is(':checked')) {
|
|
$('#enable-captcha').checkbox('uncheck');
|
|
$('#enable-openid-signup').checkbox('uncheck');
|
|
} else {
|
|
$('#enable-openid-signup').checkbox('check');
|
|
}
|
|
});
|
|
$('#enable-captcha input').on('change', function () {
|
|
if ($(this).is(':checked')) {
|
|
$('#disable-registration').checkbox('uncheck');
|
|
}
|
|
});
|
|
}
|
|
|
|
function initPostInstall() {
|
|
const el = document.getElementById('goto-user-login');
|
|
if (!el) return;
|
|
|
|
const targetUrl = el.getAttribute('href');
|
|
let tid = setInterval(async () => {
|
|
try {
|
|
const resp = await GET(targetUrl);
|
|
if (tid && resp.status === 200) {
|
|
clearInterval(tid);
|
|
tid = null;
|
|
window.location.href = targetUrl;
|
|
}
|
|
} catch {}
|
|
}, 1000);
|
|
}
|