@@ -230,7 +230,7 @@ def create_terminology(session: SessionDep, info: TerminologyInfo, oid: int, tra
230230 raise Exception (trans ("i18n_terminology.datasource_cannot_be_none" ))
231231
232232 parent = Terminology (word = info .word , create_time = create_time , description = info .description , oid = oid ,
233- specific_ds = specific_ds ,
233+ specific_ds = specific_ds , enabled = info . enabled ,
234234 datasource_ids = datasource_ids )
235235
236236 words = [info .word ]
@@ -289,7 +289,7 @@ def create_terminology(session: SessionDep, info: TerminologyInfo, oid: int, tra
289289 if other_word .strip () == "" :
290290 continue
291291 _list .append (
292- Terminology (pid = result .id , word = other_word , create_time = create_time , oid = oid ,
292+ Terminology (pid = result .id , word = other_word , create_time = create_time , oid = oid , enabled = result . enabled ,
293293 specific_ds = specific_ds , datasource_ids = datasource_ids ))
294294 session .bulk_save_objects (_list )
295295 session .flush ()
@@ -366,7 +366,8 @@ def update_terminology(session: SessionDep, info: TerminologyInfo, oid: int, tra
366366 word = info .word ,
367367 description = info .description ,
368368 specific_ds = specific_ds ,
369- datasource_ids = datasource_ids
369+ datasource_ids = datasource_ids ,
370+ enabled = info .enabled ,
370371 )
371372 session .execute (stmt )
372373 session .commit ()
@@ -383,7 +384,7 @@ def update_terminology(session: SessionDep, info: TerminologyInfo, oid: int, tra
383384 continue
384385 _list .append (
385386 Terminology (pid = info .id , word = other_word , create_time = create_time , oid = oid ,
386- specific_ds = specific_ds , datasource_ids = datasource_ids ))
387+ specific_ds = specific_ds , datasource_ids = datasource_ids , enabled = info . enabled ))
387388 session .bulk_save_objects (_list )
388389 session .flush ()
389390 session .commit ()
@@ -400,6 +401,20 @@ def delete_terminology(session: SessionDep, ids: list[int]):
400401 session .commit ()
401402
402403
404+ def enable_terminology (session : SessionDep , id : int , enabled : bool , trans : Trans ):
405+ count = session .query (Terminology ).filter (
406+ Terminology .id == id
407+ ).count ()
408+ if count == 0 :
409+ raise Exception (trans ('i18n_terminology.terminology_not_exists' ))
410+
411+ stmt = update (Terminology ).where (or_ (Terminology .id == id , Terminology .pid == id )).values (
412+ enabled = enabled ,
413+ )
414+ session .execute (stmt )
415+ session .commit ()
416+
417+
403418# def run_save_embeddings(ids: List[int]):
404419# executor.submit(save_embeddings, ids)
405420#
0 commit comments