Skip to content

Commit 672a1c6

Browse files
authored
Merge pull request #2676 from GSA/main
06/12/25 Production Deploy
2 parents 8f8ee55 + e81f27b commit 672a1c6

29 files changed

+10280
-5930
lines changed

.ds.baseline

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -127,16 +127,6 @@
127127
}
128128
],
129129
"results": {
130-
".github/actions/deploy-proxy/action.yml": [
131-
{
132-
"type": "Hex High Entropy String",
133-
"filename": ".github/actions/deploy-proxy/action.yml",
134-
"hashed_secret": "a6c13f5da3788e8d654cd24001dc79a238723248",
135-
"is_verified": false,
136-
"line_number": 18,
137-
"is_secret": false
138-
}
139-
],
140130
".github/workflows/checks.yml": [
141131
{
142132
"type": "Secret Keyword",
@@ -563,7 +553,7 @@
563553
"filename": "tests/app/main/views/test_sign_in.py",
564554
"hashed_secret": "8b8b69116ee882b5e987e330f55db81aba0636f9",
565555
"is_verified": false,
566-
"line_number": 97,
556+
"line_number": 95,
567557
"is_secret": false
568558
}
569559
],
@@ -644,5 +634,5 @@
644634
}
645635
]
646636
},
647-
"generated_at": "2025-05-22T19:03:11Z"
637+
"generated_at": "2025-06-04T16:12:20Z"
648638
}

.github/actions/deploy-proxy/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ inputs:
1515
default: https://github.com/GSA-TTS/cg-egress-proxy.git
1616
proxy_version:
1717
description: git ref to be deployed
18-
default: 1500c67157c1a7a6fbbda7a2de172b3d0a67e703
18+
default: main
1919
runs:
2020
using: composite
2121
steps:

.github/actions/setup-project/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ runs:
99
sudo apt-get update \
1010
&& sudo apt-get install -y --no-install-recommends \
1111
libcurl4-openssl-dev
12-
- name: Set up Python 3.12.3
12+
- name: Set up Python 3.12.2
1313
uses: actions/setup-python@v4
1414
with:
15-
python-version: "3.12.3"
15+
python-version: "3.12.2"
1616
- name: Install poetry
1717
shell: bash
1818
run: pip install poetry==2.1.3
Lines changed: 17 additions & 0 deletions
Loading

app/assets/javascripts/liveSearch.js

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
$targets.each(function() {
2121

2222
let content = $('.live-search-relevant', this).text() || $(this).text();
23-
let isMatch = normalize(content).indexOf(normalize(query)) > -1;
2423

2524
if ($(this).has(':checked').length) {
2625
$(this).show();
@@ -29,21 +28,25 @@
2928
}
3029

3130
if (query == '') {
32-
$(this).css('display', '');
31+
$(this).removeClass('js-hidden');
3332
results++;
3433
return;
3534
}
3635

37-
$(this).toggle(isMatch);
38-
39-
if (isMatch) { results++; }
36+
let isMatch = normalize(content).includes(normalize(query));
4037

38+
if (isMatch) {
39+
$(this).removeClass('js-hidden');
40+
results++;
41+
} else {
42+
$(this).addClass('js-hidden');
43+
}
4144
});
4245

4346
if (query !== '' && results === 0) {
44-
$noResultsMessage.show();
47+
$noResultsMessage.removeClass('js-hidden');
4548
} else {
46-
$noResultsMessage.hide();
49+
$noResultsMessage.addClass('js-hidden');
4750
}
4851

4952
if (state === 'loaded') {

app/assets/javascripts/templateFolderForm.js

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,11 @@
197197
if (event.currentTarget.value === 'add-new-template' && this.$singleNotificationChannel) {
198198
window.location = "/services/" + this.$singleChannelService + "/templates/add-" + this.$singleNotificationChannel;
199199
} else {
200+
if (this.currentState === 'add-new-template') {
201+
this.$form.find('input[type=checkbox]').prop('checked', false);
202+
this.selectionStatus.update({ total: 0, templates: 0, folders: 0 });
203+
}
204+
200205
if (this.stateChanged()) {
201206
this.render();
202207
}
@@ -286,7 +291,29 @@
286291
mode = 'dialog';
287292
}
288293

289-
if (currentStateObj && ('setFocus' in currentStateObj)) {
294+
if (this.currentState === 'add-new-template') {
295+
this.$form.find('.template-list-item').addClass('js-hidden');
296+
$('.live-search').addClass('js-hidden');
297+
$('#breadcrumb-template-folders').addClass('js-hidden');
298+
$('#template-list').addClass('js-hidden');
299+
this.$form.find('input[type=checkbox]').prop('checked', false);
300+
this.selectionStatus.update({ total: 0, templates: 0, folders: 0 });
301+
302+
$('#page-title').text('New Template');
303+
$('#page-description').text('Every message starts with a template. Choose to start with a blank template or copy an existing template.');
304+
document.title = 'New Templates';
305+
} else {
306+
this.$form.find('.template-list-item').removeClass('js-hidden');
307+
$('.live-search').removeClass('js-hidden');
308+
$('#breadcrumb-template-folders').removeClass('js-hidden');
309+
$('#template-list').removeClass('js-hidden');
310+
311+
$('#page-title').text('Select or create a template');
312+
$('#page-description').text('Every message starts with a template. To send, choose or create a template.');
313+
document.title = 'Select or create a template';
314+
}
315+
316+
if (currentStateObj && 'setFocus' in currentStateObj) {
290317
scrollTop = $(window).scrollTop();
291318
currentStateObj.setFocus();
292319
$(window).scrollTop(scrollTop);
2.33 MB
Binary file not shown.
-245 KB
Binary file not shown.

app/assets/sass/uswds/_uswds-theme-custom-styles.scss

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,10 @@ td.table-empty-message {
229229
display: none;
230230
}
231231

232+
.js-hidden {
233+
display: none !important;
234+
}
235+
232236
.folder-heading a.folder-heading-folder,
233237
.template-list-folder {
234238
background: url(../img/material-icons/folder.svg) no-repeat;
@@ -871,6 +875,10 @@ $do-dont-top-bar-width: 1;
871875
border-radius: 2px;
872876
}
873877

878+
.bg-gray-cool {
879+
background-color: #dfe1e2;
880+
}
881+
874882
.svg-circle-icon {
875883
display: inline-block;
876884
margin: 0;

app/notify_client/service_api_client.py

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import json
22
from datetime import datetime, timezone
33

4+
from flask import current_app
5+
46
from app.extensions import redis_client
57
from app.notify_client import NotifyAdminAPIClient, _attach_current_user, cache
68

@@ -81,7 +83,13 @@ def get_live_services_data(self, params_dict=None):
8183
"""
8284
Retrieve a list of live services data with contact names and notification counts.
8385
"""
84-
return self.get("/service/live-services-data", params=params_dict)
86+
try:
87+
return self.get("/service/live-services-data", params=params_dict)
88+
except Exception as e:
89+
current_app.logger.error(
90+
f"Error getting live services data {str(e)}", exc_info=True
91+
)
92+
raise e
8593

8694
def get_active_services(self, params_dict=None):
8795
"""
@@ -136,19 +144,29 @@ def update_service(self, service_id, **kwargs):
136144

137145
@cache.delete("live-service-and-organization-counts")
138146
def update_status(self, service_id, live):
139-
return self.update_service(
140-
service_id,
141-
message_limit=250000 if live else 50,
142-
restricted=(not live),
143-
go_live_at=str(datetime.utcnow()) if live else None,
144-
)
147+
try:
148+
return self.update_service(
149+
service_id,
150+
message_limit=250000 if live else 50,
151+
restricted=(not live),
152+
go_live_at=str(datetime.utcnow()) if live else None,
153+
)
154+
except Exception as e:
155+
current_app.logger.error(f"Error updating status {str(e)}", exc_info=True)
156+
raise e
145157

146158
@cache.delete("live-service-and-organization-counts")
147159
def update_count_as_live(self, service_id, count_as_live):
148-
return self.update_service(
149-
service_id,
150-
count_as_live=count_as_live,
151-
)
160+
try:
161+
return self.update_service(
162+
service_id,
163+
count_as_live=count_as_live,
164+
)
165+
except Exception as e:
166+
current_app.logger.error(
167+
f"Error updating count as live {str(e)}", exc_info=True
168+
)
169+
raise e
152170

153171
# This method is not cached because it calls through to one which is
154172
def update_service_with_properties(self, service_id, properties):

0 commit comments

Comments
 (0)