anhuiqiang 2 settimane fa
parent
commit
5cbadd17c8

+ 11 - 0
server/src/tenant/tenant.service.ts

@@ -94,6 +94,17 @@ export class TenantService {
         if (!setting) {
             setting = this.tenantSettingRepository.create({ tenantId, ...data });
         } else {
+            if (data.enabledModelIds) {
+                if (setting.selectedLLMId && !data.enabledModelIds.includes(setting.selectedLLMId)) {
+                    data.selectedLLMId = null as any;
+                }
+                if (setting.selectedEmbeddingId && !data.enabledModelIds.includes(setting.selectedEmbeddingId)) {
+                    data.selectedEmbeddingId = null as any;
+                }
+                if (setting.selectedRerankId && !data.enabledModelIds.includes(setting.selectedRerankId)) {
+                    data.selectedRerankId = null as any;
+                }
+            }
             Object.assign(setting, data);
         }
         return this.tenantSettingRepository.save(setting);

+ 9 - 7
web/components/SettingsModal.tsx

@@ -344,13 +344,15 @@ export const SettingsModal: React.FC<SettingsModalProps> = ({
         <div className="space-y-4 animate-in slide-in-from-right duration-300">
             <div className="flex justify-between items-center mb-4">
                 <h3 className="font-medium text-slate-700">{t('userList')}</h3>
-                <button
-                    onClick={() => setShowAddUser(!showAddUser)}
-                    className="flex items-center gap-1 text-sm bg-blue-600 text-white px-3 py-1.5 rounded-lg hover:bg-blue-700 transition-colors"
-                >
-                    <Plus className="w-4 h-4" />
-                    {t('addUser')}
-                </button>
+                {currentUser?.role === 'SUPER_ADMIN' && (
+                    <button
+                        onClick={() => setShowAddUser(!showAddUser)}
+                        className="flex items-center gap-1 text-sm bg-blue-600 text-white px-3 py-1.5 rounded-lg hover:bg-blue-700 transition-colors"
+                    >
+                        <Plus className="w-4 h-4" />
+                        {t('addUser')}
+                    </button>
+                )}
             </div>
 
             {showAddUser && (

+ 9 - 7
web/components/views/SettingsView.tsx

@@ -652,13 +652,15 @@ export const SettingsView: React.FC<SettingsViewProps> = ({
                     <h3 className="text-sm font-black text-slate-500 uppercase tracking-[0.15em] mb-1">{t('userList')}</h3>
                     <p className="text-xs text-slate-400 font-medium">{t('sidebarDesc')}</p>
                 </div>
-                <button
-                    onClick={() => setShowAddUser(!showAddUser)}
-                    className="flex items-center gap-2 px-6 py-2.5 bg-indigo-600 text-white text-sm font-bold rounded-2xl hover:bg-indigo-700 shadow-lg shadow-indigo-100 transition-all active:scale-95"
-                >
-                    <Plus className="w-4 h-4" />
-                    {t('addUser')}
-                </button>
+                {currentUser?.role === 'SUPER_ADMIN' && (
+                    <button
+                        onClick={() => setShowAddUser(!showAddUser)}
+                        className="flex items-center gap-2 px-6 py-2.5 bg-indigo-600 text-white text-sm font-bold rounded-2xl hover:bg-indigo-700 shadow-lg shadow-indigo-100 transition-all active:scale-95"
+                    >
+                        <Plus className="w-4 h-4" />
+                        {t('addUser')}
+                    </button>
+                )}
             </div>
 
             {showAddUser && (