Restrict user search/import to cf admins
authorMagnus Hagander <[email protected]>
Tue, 21 Feb 2023 14:19:01 +0000 (15:19 +0100)
committerMagnus Hagander <[email protected]>
Tue, 21 Feb 2023 14:19:01 +0000 (15:19 +0100)
All users can still enumerate local users, but the functionality to
search the central database is restricted to admins only.

Reported by Benjamin Flesch

pgcommitfest/commitfest/ajax.py
pgcommitfest/commitfest/templates/base_form.html

index c188684e901385449ce4075d672c3a6b62635ab0..e334c57cf9eb74e631db0ba36c2619de0ce62739 100644 (file)
@@ -223,6 +223,9 @@ def detachThread(request):
 
 
 def searchUsers(request):
+    if not request.user.is_staff:
+        return []
+
     if request.GET.get('s', ''):
         return user_search(request.GET['s'])
     else:
@@ -230,6 +233,9 @@ def searchUsers(request):
 
 
 def importUser(request):
+    if not request.user.is_staff:
+        raise Http404()
+
     if request.GET.get('u', ''):
         u = user_search(userid=request.GET['u'])
         if len(u) != 1:
index 3f3094b0dde933856493958f395d6541903a8ac6..7f2b2adfbfeecaaa3adfd807168abf71f598d957 100644 (file)
@@ -40,6 +40,7 @@
 {%include "thread_attach.inc" %}
 {%endif%}
 
+{%if user.is_staff%}
 <div class="modal fade" id="searchUserModal" role="dialog">
   <div class="modal-dialog modal-lg">
     <div class="modal-content">
@@ -66,6 +67,7 @@
     </div>
   </div>
 </div>
+{%endif%}
 {%endblock%}
 
 {%block extrahead%}
@@ -97,6 +99,7 @@
       }
    });
 {%endfor%}
+{%if user.is_staff%}
    $('.selectize-control').after(
       $('<a href="#" class="btn btn-default btn-sm">Import user not listed</a>').click(function () {
           search_and_store_user();
 $('#searchUserModal').on('shown.bs.modal', function() {
          $('#searchUserSearchField').focus();
 });
+{%endif%}
 
 /* Build our button callbacks */
 $(document).ready(function() {