diff --git a/webroot/adm/oncall/participant-summary.html b/webroot/adm/oncall/participant-summary.html
index 270855c19..3491eaff2 100644
--- a/webroot/adm/oncall/participant-summary.html
+++ b/webroot/adm/oncall/participant-summary.html
@@ -92,6 +92,14 @@
Participant Related Keysets
d. Keysets belonging to the leaked site itself
+
+
diff --git a/webroot/js/participantSummary.js b/webroot/js/participantSummary.js
index 5d18900ce..6e365a562 100644
--- a/webroot/js/participantSummary.js
+++ b/webroot/js/participantSummary.js
@@ -153,4 +153,16 @@ $(document).ready(() => {
doApiCallWithCallback('GET', url, (r) => { loadRelatedKeysetsCallback(r, site.id, site.clientTypes) }, (err) => { participantSummaryErrorHandler(err, '#relatedKeysetsErrorOutput') });
$('.section').show();
});
+
+ $('#doRotateKeysets').on('click', () => {
+ var keysets = $('#relatedKeysetsStandardOutput').text();
+ console.log(keysets);
+ const ja = JSON.parse(keysets);
+ ja.forEach((keyset) => {
+ var url = `/api/key/rotate_keyset_key?min_age_seconds=3600&keyset_id=${keyset.keyset_id}`;
+// if ($('#force').is(':checked')) url = url + '&force=true';
+
+ doApiCall('POST', url, '#standardOutput', '#errorOutput');
+ });
+ });
});
\ No newline at end of file