mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-23 15:57:23 -04:00
Merge pull request #2841 from GSA/2795-bug-when-a-new-template-folder-is-added-existing-users-are-automatically-given-permission-to-it
fix and update to template manage
This commit is contained in:
@@ -138,6 +138,7 @@
|
||||
};
|
||||
CollapsibleCheckboxes.prototype.toggleAll = function(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
const allChecked = this.$checkboxes.filter(':checked').length === this.$checkboxes.length;
|
||||
|
||||
if (allChecked) {
|
||||
|
||||
@@ -1726,10 +1726,14 @@ class TemplateFolderForm(StripWhitespaceForm):
|
||||
def __init__(self, all_service_users=None, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
if all_service_users is not None:
|
||||
self.users_with_permission.all_service_users = all_service_users
|
||||
regular_users = [user for user in all_service_users if not user.platform_admin]
|
||||
platform_admins = [user for user in all_service_users if user.platform_admin]
|
||||
|
||||
self.users_with_permission.all_service_users = regular_users
|
||||
self.users_with_permission.choices = [
|
||||
(item.id, item.name) for item in all_service_users
|
||||
(item.id, item.name) for item in regular_users
|
||||
]
|
||||
self.platform_admins = platform_admins
|
||||
|
||||
users_with_permission = USWDSCollapsibleCheckboxesField(
|
||||
"Team members who can see this folder", field_label="team member"
|
||||
|
||||
@@ -180,7 +180,10 @@ def process_folder_management_form(form, current_folder_id):
|
||||
|
||||
if form.is_add_folder_op:
|
||||
new_folder_id = template_folder_api_client.create_template_folder(
|
||||
current_service.id, name=form.get_folder_name(), parent_id=current_folder_id
|
||||
current_service.id,
|
||||
name=form.get_folder_name(),
|
||||
parent_id=current_folder_id,
|
||||
created_by_id=str(current_user.id)
|
||||
)
|
||||
|
||||
if form.is_move_op:
|
||||
|
||||
@@ -4,8 +4,10 @@ from app.notify_client import NotifyAdminAPIClient, cache
|
||||
|
||||
class TemplateFolderAPIClient(NotifyAdminAPIClient):
|
||||
@cache.delete("service-{service_id}-template-folders")
|
||||
def create_template_folder(self, service_id, name, parent_id=None):
|
||||
def create_template_folder(self, service_id, name, parent_id=None, created_by_id=None):
|
||||
data = {"name": name, "parent_id": parent_id}
|
||||
if created_by_id:
|
||||
data["created_by_id"] = created_by_id
|
||||
return self.post("/service/{}/template-folder".format(service_id), data)[
|
||||
"data"
|
||||
]["id"]
|
||||
|
||||
@@ -86,13 +86,17 @@
|
||||
</ul>
|
||||
{% if current_service.all_template_folders %}
|
||||
<p class="usa-body tick-cross-list-hint">
|
||||
{% set folder_count = user.template_folders_for_service(current_service) | length %}
|
||||
{% if folder_count == 0 %}
|
||||
Cannot see any folders
|
||||
{% elif folder_count != current_service.all_template_folders | length %}
|
||||
Can see {{ folder_count }} folder{% if folder_count > 1 %}s{% endif %}
|
||||
{% if user.platform_admin %}
|
||||
Platform admin can see all folders
|
||||
{% else %}
|
||||
Can see all folders
|
||||
{% set folder_count = user.template_folders_for_service(current_service) | length %}
|
||||
{% if folder_count == 0 %}
|
||||
Cannot see any folders
|
||||
{% elif folder_count != current_service.all_template_folders | length %}
|
||||
Can see {{ folder_count }} folder{% if folder_count > 1 %}s{% endif %}
|
||||
{% else %}
|
||||
Can see all folders
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
@@ -27,6 +27,14 @@
|
||||
}) }}
|
||||
{% if current_user.has_permissions(ServicePermission.MANAGE_SERVICE) and form.users_with_permission.all_service_users %}
|
||||
{{ form.users_with_permission }}
|
||||
{% if form.platform_admins is defined and form.platform_admins %}
|
||||
<p class="usa-hint">Platform admin can see all folders:</p>
|
||||
<ul class="usa-hint usa-list">
|
||||
{% for admin in form.platform_admins %}
|
||||
<li>{{ admin.name }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{{ page_footer(
|
||||
|
||||
Reference in New Issue
Block a user