From 4966a17245ddd82a0a27be26c7ba51cd92ad8229 Mon Sep 17 00:00:00 2001
From: Brendan Blaine <6540-B_man@users.noreply.drupalcode.org>
Date: Wed, 9 Oct 2024 20:56:26 +0000
Subject: [PATCH] Issue #3475098: Add a View of unpublished security advisories
 for security team members

---
 .../drupalorg_admin_pages.views_default.inc   | 92 +++++++++++++++----
 1 file changed, 76 insertions(+), 16 deletions(-)

diff --git a/features/drupalorg_admin_pages/drupalorg_admin_pages.views_default.inc b/features/drupalorg_admin_pages/drupalorg_admin_pages.views_default.inc
index 671502efd..cf559d387 100644
--- a/features/drupalorg_admin_pages/drupalorg_admin_pages.views_default.inc
+++ b/features/drupalorg_admin_pages/drupalorg_admin_pages.views_default.inc
@@ -3777,7 +3777,7 @@ Thank you for helping us fight spam on Drupal.org!'),
   $handler->display->display_options['title'] = 'Admin security advisories';
   $handler->display->display_options['use_more_always'] = FALSE;
   $handler->display->display_options['access']['type'] = 'perm';
-  $handler->display->display_options['access']['perm'] = 'create sa content';
+  $handler->display->display_options['access']['perm'] = 'edit any sa content';
   $handler->display->display_options['cache']['type'] = 'none';
   $handler->display->display_options['query']['type'] = 'views_query';
   $handler->display->display_options['exposed_form']['type'] = 'basic';
@@ -3842,26 +3842,12 @@ Thank you for helping us fight spam on Drupal.org!'),
   $handler->display->display_options['fields']['field_affected_versions']['id'] = 'field_affected_versions';
   $handler->display->display_options['fields']['field_affected_versions']['table'] = 'field_data_field_affected_versions';
   $handler->display->display_options['fields']['field_affected_versions']['field'] = 'field_affected_versions';
-  /* Field: Content: Fixed in */
-  $handler->display->display_options['fields']['field_fixed_in']['id'] = 'field_fixed_in';
-  $handler->display->display_options['fields']['field_fixed_in']['table'] = 'field_data_field_fixed_in';
-  $handler->display->display_options['fields']['field_fixed_in']['field'] = 'field_fixed_in';
-  $handler->display->display_options['fields']['field_fixed_in']['settings'] = array(
-    'bypass_access' => 0,
-    'link' => 1,
-  );
-  $handler->display->display_options['fields']['field_fixed_in']['delta_offset'] = '0';
   /* Field: Content: Edit link */
   $handler->display->display_options['fields']['edit_node']['id'] = 'edit_node';
   $handler->display->display_options['fields']['edit_node']['table'] = 'views_entity_node';
   $handler->display->display_options['fields']['edit_node']['field'] = 'edit_node';
   $handler->display->display_options['fields']['edit_node']['label'] = '';
   $handler->display->display_options['fields']['edit_node']['element_label_colon'] = FALSE;
-  /* Sort criterion: Content: Post date */
-  $handler->display->display_options['sorts']['created']['id'] = 'created';
-  $handler->display->display_options['sorts']['created']['table'] = 'node';
-  $handler->display->display_options['sorts']['created']['field'] = 'created';
-  $handler->display->display_options['sorts']['created']['order'] = 'DESC';
   /* Filter criterion: Content: Published */
   $handler->display->display_options['filters']['status']['id'] = 'status';
   $handler->display->display_options['filters']['status']['table'] = 'node';
@@ -3880,6 +3866,73 @@ Thank you for helping us fight spam on Drupal.org!'),
   /* Display: Page */
   $handler = $view->new_display('page', 'Page', 'page');
   $handler->display->display_options['path'] = 'admin/content/sa';
+
+  /* Display: Unpublished SA view */
+  $handler = $view->new_display('page', 'Unpublished SA view', 'sa_draft_admin_page');
+  $handler->display->display_options['defaults']['title'] = FALSE;
+  $handler->display->display_options['title'] = 'Draft security advisories';
+  $handler->display->display_options['defaults']['relationships'] = FALSE;
+  /* Relationship: Entity Reference: Referenced Entity */
+  $handler->display->display_options['relationships']['field_project_target_id']['id'] = 'field_project_target_id';
+  $handler->display->display_options['relationships']['field_project_target_id']['table'] = 'field_data_field_project';
+  $handler->display->display_options['relationships']['field_project_target_id']['field'] = 'field_project_target_id';
+  $handler->display->display_options['relationships']['field_project_target_id']['required'] = TRUE;
+  $handler->display->display_options['defaults']['fields'] = FALSE;
+  /* Field: Content: Title */
+  $handler->display->display_options['fields']['title']['id'] = 'title';
+  $handler->display->display_options['fields']['title']['table'] = 'node';
+  $handler->display->display_options['fields']['title']['field'] = 'title';
+  $handler->display->display_options['fields']['title']['relationship'] = 'field_project_target_id';
+  $handler->display->display_options['fields']['title']['label'] = 'Project';
+  /* Field: Content: Security risk */
+  $handler->display->display_options['fields']['field_sa_criticality']['id'] = 'field_sa_criticality';
+  $handler->display->display_options['fields']['field_sa_criticality']['table'] = 'field_data_field_sa_criticality';
+  $handler->display->display_options['fields']['field_sa_criticality']['field'] = 'field_sa_criticality';
+  $handler->display->display_options['fields']['field_sa_criticality']['alter']['alter_text'] = TRUE;
+  $handler->display->display_options['fields']['field_sa_criticality']['alter']['text'] = '<small>[field_sa_criticality]</small>';
+  $handler->display->display_options['fields']['field_sa_criticality']['element_default_classes'] = FALSE;
+  $handler->display->display_options['fields']['field_sa_criticality']['type'] = 'security_risk';
+  /* Field: Content: Vulnerability */
+  $handler->display->display_options['fields']['field_sa_type']['id'] = 'field_sa_type';
+  $handler->display->display_options['fields']['field_sa_type']['table'] = 'field_data_field_sa_type';
+  $handler->display->display_options['fields']['field_sa_type']['field'] = 'field_sa_type';
+  /* Field: Content: Updated date */
+  $handler->display->display_options['fields']['changed']['id'] = 'changed';
+  $handler->display->display_options['fields']['changed']['table'] = 'node';
+  $handler->display->display_options['fields']['changed']['field'] = 'changed';
+  $handler->display->display_options['fields']['changed']['label'] = 'Updated';
+  $handler->display->display_options['fields']['changed']['date_format'] = 'medium';
+  $handler->display->display_options['fields']['changed']['second_date_format'] = 'long';
+  /* Field: Content: Link */
+  $handler->display->display_options['fields']['view_node']['id'] = 'view_node';
+  $handler->display->display_options['fields']['view_node']['table'] = 'views_entity_node';
+  $handler->display->display_options['fields']['view_node']['field'] = 'view_node';
+  $handler->display->display_options['fields']['view_node']['label'] = '';
+  $handler->display->display_options['fields']['view_node']['element_label_colon'] = FALSE;
+  $handler->display->display_options['fields']['view_node']['text'] = 'View';
+  $handler->display->display_options['defaults']['sorts'] = FALSE;
+  /* Sort criterion: Content: Updated date */
+  $handler->display->display_options['sorts']['changed']['id'] = 'changed';
+  $handler->display->display_options['sorts']['changed']['table'] = 'node';
+  $handler->display->display_options['sorts']['changed']['field'] = 'changed';
+  $handler->display->display_options['sorts']['changed']['order'] = 'DESC';
+  $handler->display->display_options['defaults']['filter_groups'] = FALSE;
+  $handler->display->display_options['defaults']['filters'] = FALSE;
+  /* Filter criterion: Content: Published */
+  $handler->display->display_options['filters']['status']['id'] = 'status';
+  $handler->display->display_options['filters']['status']['table'] = 'node';
+  $handler->display->display_options['filters']['status']['field'] = 'status';
+  $handler->display->display_options['filters']['status']['value'] = '0';
+  $handler->display->display_options['filters']['status']['group'] = 1;
+  $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
+  /* Filter criterion: Content: Type */
+  $handler->display->display_options['filters']['type']['id'] = 'type';
+  $handler->display->display_options['filters']['type']['table'] = 'node';
+  $handler->display->display_options['filters']['type']['field'] = 'type';
+  $handler->display->display_options['filters']['type']['value'] = array(
+    'sa' => 'sa',
+  );
+  $handler->display->display_options['path'] = 'security/draft';
   $translatables['drupalorg_admin_security_advisories'] = array(
     t('Master'),
     t('Admin security advisories'),
@@ -3900,8 +3953,15 @@ Thank you for helping us fight spam on Drupal.org!'),
     t('Post date'),
     t('Security risk'),
     t('Affected versions'),
-    t('Fixed in'),
     t('Page'),
+    t('Unpublished SA view'),
+    t('Draft security advisories'),
+    t('Content entity referenced from field_project'),
+    t('Project'),
+    t('<small>[field_sa_criticality]</small>'),
+    t('Vulnerability'),
+    t('Updated'),
+    t('View'),
   );
   $export['drupalorg_admin_security_advisories'] = $view;
 
-- 
GitLab