When a user who can't see unpublished entities unpublishes one, it redirects to the home page and displays a message.

This commit is contained in:
naomi 2021-09-17 15:04:43 +01:00
parent a4c02ed249
commit 8d2d095b8e
5 changed files with 44 additions and 9 deletions

View File

@ -65,7 +65,15 @@ class OCCaseForm extends ContentEntityForm {
'%label' => $entity->label(), '%label' => $entity->label(),
])); ]));
} }
// If you have unpublished the entity and you can't see unpublished entities, redirect to a more informative message than just "Access Denied".
if (!$form_state->getValue('status')['value'] && !\Drupal::currentUser()->hasPermission('view unpublished case entities')) {
drupal_set_message($this->t('The record for "%label" is now unpublished & hidden from you.', [
'%label' => $entity->label(),
]));
$form_state->setRedirect('<front>');
} else {
$form_state->setRedirect('entity.oc_case.canonical', ['oc_case' => $entity->id()]); $form_state->setRedirect('entity.oc_case.canonical', ['oc_case' => $entity->id()]);
} }
}
} }

View File

@ -55,17 +55,25 @@ class OCActivityForm extends ContentEntityForm {
switch ($status) { switch ($status) {
case SAVED_NEW: case SAVED_NEW:
drupal_set_message($this->t('Created the %label Activity.', [ drupal_set_message($this->t('Created the %bundle.', [
'%label' => $entity->label(), '%bundle' => $entity->bundle(),
])); ]));
break; break;
default: default:
drupal_set_message($this->t('Saved the %label Activity.', [ drupal_set_message($this->t('Saved the %bundle.', [
'%label' => $entity->label(), '%bundle' => $entity->bundle(),
])); ]));
} }
// If you have unpublished the entity and you can't see unpublished entities, redirect to a more informative message than just "Access Denied".
if (!$form_state->getValue('status')['value'] && !\Drupal::currentUser()->hasPermission('view unpublished activity entities')) {
drupal_set_message($this->t('The %bundle is now unpublished & hidden from you.', [
'%bundle' => $entity->bundle(),
]));
$form_state->setRedirect('<front>');
} else {
$form_state->setRedirect('entity.oc_activity.canonical', ['oc_activity' => $entity->id()]); $form_state->setRedirect('entity.oc_activity.canonical', ['oc_activity' => $entity->id()]);
} }
}
} }

View File

@ -60,7 +60,10 @@ class OCActorForm extends ContentEntityForm {
} }
// If you have unpublished the entity and you can't see unpublished entities, redirect to a more informative message than just "Access Denied". // If you have unpublished the entity and you can't see unpublished entities, redirect to a more informative message than just "Access Denied".
if (!$form_state->getValue('status')['value'] && !\Drupal::currentUser()->hasPermission('view unpublished actor entities')) { if (!$form_state->getValue('status')['value'] && !\Drupal::currentUser()->hasPermission('view unpublished actor entities')) {
$form_state->setRedirect('entity.node.canonical', ['node' => 1]); drupal_set_message($this->t('The record for "%label" is now unpublished & hidden from you.', [
'%label' => $entity->label(),
]));
$form_state->setRedirect('<front>');
} else { } else {
$form_state->setRedirect('entity.oc_actor.canonical', ['oc_actor' => $entity->id()]); $form_state->setRedirect('entity.oc_actor.canonical', ['oc_actor' => $entity->id()]);
} }

View File

@ -60,7 +60,15 @@ class OCEventForm extends ContentEntityForm {
'%label' => $entity->label(), '%label' => $entity->label(),
])); ]));
} }
// If you have unpublished the entity and you can't see unpublished entities, redirect to a more informative message than just "Access Denied".
if (!$form_state->getValue('status')['value'] && !\Drupal::currentUser()->hasPermission('view unpublished event entities')) {
drupal_set_message($this->t('The record for "%label" is now unpublished & hidden from you.', [
'%label' => $entity->label(),
]));
$form_state->setRedirect('<front>');
} else {
$form_state->setRedirect('entity.oc_event.canonical', ['oc_event' => $entity->id()]); $form_state->setRedirect('entity.oc_event.canonical', ['oc_event' => $entity->id()]);
} }
}
} }

View File

@ -81,7 +81,15 @@ class OCOrganisationForm extends ContentEntityForm {
'%label' => $entity->label(), '%label' => $entity->label(),
])); ]));
} }
// If you have unpublished the entity and you can't see unpublished entities, redirect to a more informative message than just "Access Denied".
if (!$form_state->getValue('status')['value'] && !\Drupal::currentUser()->hasPermission('view unpublished organisation entities')) {
drupal_set_message($this->t('The record for "%label" is now unpublished & hidden from you.', [
'%label' => $entity->label(),
]));
$form_state->setRedirect('<front>');
} else {
$form_state->setRedirect('entity.oc_organisation.canonical', ['oc_organisation' => $entity->id()]); $form_state->setRedirect('entity.oc_organisation.canonical', ['oc_organisation' => $entity->id()]);
} }
}
} }