Skip to content
Snippets Groups Projects
Commit 49686269 authored by Lily Yan's avatar Lily Yan
Browse files

ISTWCMS-5544 Add a warning message when deleting contents

parent 15ea3fd6
No related branches found
No related tags found
1 merge request!251ISTWCMS-5544 Add a warning message when deleting contents
...@@ -847,6 +847,85 @@ function uw_cfg_common_preprocess_responsive_image(&$variables) { ...@@ -847,6 +847,85 @@ function uw_cfg_common_preprocess_responsive_image(&$variables) {
*/ */
function uw_cfg_common_form_alter(array &$form, FormStateInterface $form_state, string $form_id): void { function uw_cfg_common_form_alter(array &$form, FormStateInterface $form_state, string $form_id): void {
// Define all names in an array.
$names = [
'ct_names' => [
'uw_ct_blog',
'uw_ct_contact',
'uw_ct_catalog_item',
'uw_ct_event',
'uw_ct_expand_collapse_group',
'uw_ct_news_item',
'uw_ct_opportunity',
'uw_ct_profile',
'uw_ct_project',
'uw_ct_service',
'uw_ct_sidebar',
'uw_ct_site_footer',
'uw_ct_web_page',
],
'vocab_names' => [
'uw_vocab_blog_tags',
'uw_vocab_contact_group',
'uw_vocab_audience',
'uw_vocab_catalog_categories',
'uw_vocab_catalogs',
'uw_tax_event_tags',
'uw_tax_event_type',
'uw_vocab_news_tags',
'uw_vocab_profile_type',
'uw_vocab_project_roles',
'uw_vocab_project_topics',
'uw_vocab_service_categories',
],
'media_names' => [
'uw_mt_file',
'uw_mt_icon',
'uw_mt_image',
'uw_mt_local_video',
'uw_mt_remote_video',
'uw_mt_vimeo_banner_video',
],
];
// Get current user.
$user = \Drupal::currentUser();
// Loop all names in array.
foreach ($names as $key => $type_names) {
foreach ($type_names as $name) {
$custom_waring_message = t('CAUTION. This will permanently delete this piece of content; this action cannot be undone. If anything references this content, it may cause visual or structural issues on that page. Make sure you have removed or updated all references before deleting.');
// Use custom warning message for deleting nodes, terms and medias.
// The user has 'delete any' and 'delete own' permissions.
if ($key == 'ct_names') {
if (($form_id == 'node_' . $name . '_delete_form') &&
($user->hasPermission('delete any ' . $name . ' content') ||
$user->hasPermission('delete own ' . $name . ' content'))) {
$form['description']['#markup'] = $custom_waring_message;
break;
}
}
// The user has 'delete terms' permission.
if ($key == 'vocab_names') {
if (($form_id == 'taxonomy_term_' . $name . '_delete_form') &&
$user->hasPermission('delete terms in ' . $name)) {
$form['description']['#markup'] = $custom_waring_message;
break;
}
}
// The user has 'delete any' permission.
if ($key == 'media_names') {
if (($form_id == 'media_' . $name . '_delete_form') &&
($user->hasPermission('delete any ' . $name . ' media') ||
$user->hasPermission('delete own ' . $name . ' media'))) {
$form['description']['#markup'] = $custom_waring_message;
break;
}
}
}
}
// ISTWCMS-4648: removing revisions from layout builder page. // ISTWCMS-4648: removing revisions from layout builder page.
if (\Drupal::routeMatch()->getRouteName() == 'layout_builder.overrides.node.view') { if (\Drupal::routeMatch()->getRouteName() == 'layout_builder.overrides.node.view') {
$form['revision']['#access'] = FALSE; $form['revision']['#access'] = FALSE;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment