fix: new instance dialog user ID handling for legacy instances

This commit is contained in:
pa
2026-03-27 11:14:22 +09:00
parent c504c71191
commit b3b1d68cc9
2 changed files with 11 additions and 12 deletions

View File

@@ -1,6 +1,6 @@
<template> <template>
<Dialog v-model:open="newInstanceDialog.visible"> <Dialog v-model:open="newInstanceDialog.visible">
<DialogContent> <DialogContent class="sm:max-w-2xl">
<DialogHeader> <DialogHeader>
<DialogTitle>{{ t('dialog.new_instance.header') }}</DialogTitle> <DialogTitle>{{ t('dialog.new_instance.header') }}</DialogTitle>
<DialogDescription class="sr-only">{{ t('dialog.new_instance.header') }}</DialogDescription> <DialogDescription class="sr-only">{{ t('dialog.new_instance.header') }}</DialogDescription>
@@ -374,7 +374,7 @@
<FieldLabel>{{ t('dialog.new_instance.instance_creator') }}</FieldLabel> <FieldLabel>{{ t('dialog.new_instance.instance_creator') }}</FieldLabel>
<FieldContent> <FieldContent>
<VirtualCombobox <VirtualCombobox
v-model="newInstanceDialog.userId" v-model="newInstanceDialog.legacyUserId"
:groups="creatorPickerGroups" :groups="creatorPickerGroups"
:placeholder="t('dialog.new_instance.instance_creator_placeholder')" :placeholder="t('dialog.new_instance.instance_creator_placeholder')"
:search-placeholder="t('dialog.new_instance.instance_creator_placeholder')" :search-placeholder="t('dialog.new_instance.instance_creator_placeholder')"
@@ -512,7 +512,7 @@
variant="outline" variant="outline"
:disabled=" :disabled="
(newInstanceDialog.accessType === 'friends' || newInstanceDialog.accessType === 'invite') && (newInstanceDialog.accessType === 'friends' || newInstanceDialog.accessType === 'invite') &&
newInstanceDialog.userId !== currentUser.id newInstanceDialog.legacyUserId !== currentUser.id
" "
@click="showInviteDialog(newInstanceDialog.location)" @click="showInviteDialog(newInstanceDialog.location)"
>{{ t('dialog.new_instance.invite') }}</Button >{{ t('dialog.new_instance.invite') }}</Button

View File

@@ -34,6 +34,7 @@ export function useNewInstanceBuilder(locationTagRef) {
instanceId: '', instanceId: '',
instanceName: '', instanceName: '',
userId: '', userId: '',
legacyUserId: '',
accessType: 'public', accessType: 'public',
region: 'US West', region: 'US West',
groupRegion: '', groupRegion: '',
@@ -68,7 +69,7 @@ export function useNewInstanceBuilder(locationTagRef) {
configRepository configRepository
.getString('instanceDialogUserId', '') .getString('instanceDialogUserId', '')
.then((value) => (newInstanceDialog.value.userId = value)); .then((value) => (newInstanceDialog.value.legacyUserId = value));
configRepository configRepository
.getString('instanceDialogAccessType', 'public') .getString('instanceDialogAccessType', 'public')
@@ -102,7 +103,7 @@ export function useNewInstanceBuilder(locationTagRef) {
accessType, accessType,
region, region,
instanceName, instanceName,
userId, legacyUserId,
groupId, groupId,
groupAccessType, groupAccessType,
queueEnabled, queueEnabled,
@@ -115,7 +116,7 @@ export function useNewInstanceBuilder(locationTagRef) {
configRepository.setString('instanceDialogInstanceName', instanceName); configRepository.setString('instanceDialogInstanceName', instanceName);
configRepository.setString( configRepository.setString(
'instanceDialogUserId', 'instanceDialogUserId',
userId === currentUser.value.id ? '' : userId legacyUserId === currentUser.value.id ? '' : legacyUserId
); );
configRepository.setString('instanceDialogGroupId', groupId); configRepository.setString('instanceDialogGroupId', groupId);
configRepository.setString( configRepository.setString(
@@ -188,9 +189,7 @@ export function useNewInstanceBuilder(locationTagRef) {
D.instanceId = ''; D.instanceId = '';
D.shortName = ''; D.shortName = '';
D.secureOrShortName = ''; D.secureOrShortName = '';
if (!D.userId) { D.userId = currentUser.value.id;
D.userId = currentUser.value.id;
}
refreshGroupRoles(D); refreshGroupRoles(D);
saveNewInstanceDialog(); saveNewInstanceDialog();
} }
@@ -205,8 +204,8 @@ export function useNewInstanceBuilder(locationTagRef) {
if (D.instanceName) { if (D.instanceName) {
D.instanceName = D.instanceName.replace(/[^A-Za-z0-9]/g, ''); D.instanceName = D.instanceName.replace(/[^A-Za-z0-9]/g, '');
} }
if (!D.userId) { if (!D.legacyUserId) {
D.userId = currentUser.value.id; D.legacyUserId = currentUser.value.id;
} }
if (D.accessType !== 'invite' && D.accessType !== 'friends') { if (D.accessType !== 'invite' && D.accessType !== 'friends') {
D.strict = false; D.strict = false;
@@ -218,7 +217,7 @@ export function useNewInstanceBuilder(locationTagRef) {
D.instanceId = buildLegacyInstanceTag({ D.instanceId = buildLegacyInstanceTag({
instanceName, instanceName,
userId: D.userId, userId: D.legacyUserId,
accessType: D.accessType, accessType: D.accessType,
groupId: D.groupId, groupId: D.groupId,
groupAccessType: D.groupAccessType, groupAccessType: D.groupAccessType,