Skip to content

Commit a1f70ad

Browse files
committed
FF sync-on-form-entry and remove-special-chars
https://dimagi.atlassian.net/browse/USH-6459
1 parent 1232b07 commit a1f70ad

File tree

2 files changed

+25
-16
lines changed

2 files changed

+25
-16
lines changed

corehq/apps/domain/templates/domain/admin/case_search.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ <h2>{% trans "Fuzzy Search Properties" %}</h2>
7171
</button>
7272
</div>
7373

74+
{% if request|toggle_enabled:"CASE_SEARCH_ADVANCED" %}
7475
<div data-bind="visible: toggleEnabled" class="mb-3">
7576
<h2>{% trans "Synchronous Web Apps Submissions" %}</h2>
7677
<p>
@@ -156,6 +157,8 @@ <h2>{% trans "Remove Special Characters" %}</h2>
156157
<i class="fa fa-plus"></i> {% trans "Add case property" %}
157158
</button>
158159
</div>
160+
{% endif %}
161+
159162
</form>
160163
</div>
161164
</div>

corehq/apps/domain/views/settings.py

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)