Add readonly mode
parent
d7feba6803
commit
fc2ddcd24e
|
@ -603,6 +603,11 @@ class ApiController extends Controller
|
|||
return new JSONResponse([], Http::STATUS_PRECONDITION_FAILED);
|
||||
}
|
||||
|
||||
// Make sure not running in read-only mode
|
||||
if ($this->config->getSystemValue('memories_readonly', false)) {
|
||||
return new JSONResponse(["message" => "Cannot change settings in readonly mode"], Http::STATUS_FORBIDDEN);
|
||||
}
|
||||
|
||||
$userId = $user->getUid();
|
||||
$this->config->setUserValue($userId, Application::APPNAME, $key, $value);
|
||||
|
||||
|
|
|
@ -77,12 +77,15 @@ export default class Settings extends Mixins(UserConfig, GlobalMixin) {
|
|||
const settings = ['showHidden', 'timelinePath', 'foldersPath'];
|
||||
|
||||
// Update all
|
||||
const p = await Promise.all(settings.map(async (setting) => this.updateSetting(setting)));
|
||||
|
||||
if (p.some((r) => !r || r.status !== 200)) {
|
||||
showError(this.t('memories', 'Error updating settings'));
|
||||
} else {
|
||||
window.location.reload();
|
||||
try {
|
||||
const p = await Promise.all(settings.map(async (setting) => this.updateSetting(setting)));
|
||||
if (p.some((r) => !r || r.status !== 200)) {
|
||||
showError(this.t('memories', 'Error updating settings'));
|
||||
} else {
|
||||
window.location.reload();
|
||||
}
|
||||
} catch (e) {
|
||||
showError(e?.response?.data?.message || this.t('memories', 'Error updating settings'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue