@@ -439,7 +439,28 @@ def post(self, request, *args, **kwargs):
439439 )
440440 unneeded_fuzzies .delete ()
441441
442- ignore_patterns = request_json .get ('ignore_patterns' )
442+ if enable :
443+ enable_case_search (self .domain )
444+ else :
445+ disable_case_search (self .domain )
446+
447+ advanced_enabled = toggles .CASE_SEARCH_ADVANCED .enabled (self .domain )
448+ config , _ = CaseSearchConfig .objects .update_or_create (domain = self .domain , defaults = {
449+ 'enabled' : request_json .get ('enable' ),
450+ 'synchronous_web_apps' : request_json .get ('synchronous_web_apps' ) if advanced_enabled else False ,
451+ 'sync_cases_on_form_entry' : (
452+ request_json .get ('sync_cases_on_form_entry' )
453+ if advanced_enabled else False
454+ )
455+ })
456+ case_search_synchronous_web_apps_for_domain .clear (self .domain )
457+ case_search_sync_cases_on_form_entry_enabled_for_domain .clear (self .domain )
458+ config .fuzzy_properties .set (updated_fuzzies )
459+ if advanced_enabled :
460+ self .set_ignore_patterns (config , request_json .get ('ignore_patterns' ))
461+ return json_response (self .page_context )
462+
463+ def set_ignore_patterns (self , config , ignore_patterns ):
443464 updated_ignore_patterns = []
444465 update_ignore_pattern_ids = []
445466 for ignore_pattern_regex in ignore_patterns :
@@ -456,22 +477,7 @@ def post(self, request, *args, **kwargs):
456477 pk__in = update_ignore_pattern_ids
457478 )
458479 unneeded_ignore_patterns .delete ()
459-
460- if enable :
461- enable_case_search (self .domain )
462- else :
463- disable_case_search (self .domain )
464-
465- config , _ = CaseSearchConfig .objects .update_or_create (domain = self .domain , defaults = {
466- 'enabled' : request_json .get ('enable' ),
467- 'synchronous_web_apps' : request_json .get ('synchronous_web_apps' ),
468- 'sync_cases_on_form_entry' : request_json .get ('sync_cases_on_form_entry' ),
469- })
470- case_search_synchronous_web_apps_for_domain .clear (self .domain )
471- case_search_sync_cases_on_form_entry_enabled_for_domain .clear (self .domain )
472480 config .ignore_patterns .set (updated_ignore_patterns )
473- config .fuzzy_properties .set (updated_fuzzies )
474- return json_response (self .page_context )
475481
476482 @property
477483 def page_context (self ):
0 commit comments