redirect to list after successful deletion
This commit is contained in:
parent
6e5f7757b6
commit
4f12264fb6
|
@ -11,6 +11,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15"><title>Upgrade notes</title>
|
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15"><title>Upgrade notes</title>
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,7 +28,11 @@ This is a list of API changes for all LAM releases.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<h2>3.1.0 -> 3.2.0</h2><span style="font-weight: bold;">Account types: </span>The CSS classes have changed.
|
<h2>3.2.0 -> 3.3.0</h2>The cache was removed. Please use local caching and the functions searchLDAP... instead of get_cache().<br>
|
||||||
|
The return values for baseModule::pre/postDeleteActions() was changed to an array of status message parameters.<br>
|
||||||
|
<br>
|
||||||
|
<h2>3.1.0 -> 3.2.0</h2>
|
||||||
|
<span style="font-weight: bold;">Account types: </span>The CSS classes have changed.
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
<li>tr.TYPElist-over: removed without replacement</li>
|
<li>tr.TYPElist-over: removed without replacement</li>
|
||||||
|
|
|
@ -1058,22 +1058,22 @@ abstract class baseModule {
|
||||||
* Allows the module to run commands before the LDAP entry is deleted.
|
* Allows the module to run commands before the LDAP entry is deleted.
|
||||||
*
|
*
|
||||||
* Calling this method requires the existence of an enclosing {@link accountContainer}.<br>
|
* Calling this method requires the existence of an enclosing {@link accountContainer}.<br>
|
||||||
* <br>
|
|
||||||
* An error message should be printed if the function returns false.
|
|
||||||
*
|
*
|
||||||
* @return boolean true, if no problems occured
|
* @return array Array which contains status messages. Each entry is an array containing the status message parameters.
|
||||||
*/
|
*/
|
||||||
public function preDeleteActions() {
|
public function preDeleteActions() {
|
||||||
return true;
|
return array();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allows the module to run commands after the LDAP entry is deleted.
|
* Allows the module to run commands after the LDAP entry is deleted.
|
||||||
*
|
*
|
||||||
* Calling this method requires the existence of an enclosing {@link accountContainer}.
|
* Calling this method requires the existence of an enclosing {@link accountContainer}.
|
||||||
|
*
|
||||||
|
* @return array Array which contains status messages. Each entry is an array containing the status message parameters.
|
||||||
*/
|
*/
|
||||||
public function postDeleteActions() {
|
public function postDeleteActions() {
|
||||||
return;
|
return array();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -151,6 +151,8 @@ class lamList {
|
||||||
$this->listGetParams();
|
$this->listGetParams();
|
||||||
// print HTML head
|
// print HTML head
|
||||||
$this->listPrintHeader();
|
$this->listPrintHeader();
|
||||||
|
// print messages when redirected from other pages
|
||||||
|
$this->listPrintRedirectMessages();
|
||||||
// refresh data if needed
|
// refresh data if needed
|
||||||
if ($this->refresh) {
|
if ($this->refresh) {
|
||||||
$this->listBuildFilter();
|
$this->listBuildFilter();
|
||||||
|
@ -924,6 +926,15 @@ class lamList {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prints messages when another page (e.g. delete/upload) redirects to the list view.
|
||||||
|
*/
|
||||||
|
protected function listPrintRedirectMessages() {
|
||||||
|
if (isset($_GET['deleteAllOk'])) {
|
||||||
|
StatusMessage('INFO', _('Deletion was successful.'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -591,12 +591,11 @@ class posixAccount extends baseModule implements passwordService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allows the module to run commands before the LDAP entry is deleted.
|
* Allows the module to run commands before the LDAP entry is deleted.
|
||||||
* An error message should be printed if the function returns false.
|
|
||||||
*
|
*
|
||||||
* @return true, if no problems occured
|
* @return array Array which contains status messages. Each entry is an array containing the status message parameters.
|
||||||
*/
|
*/
|
||||||
function preDeleteActions() {
|
function preDeleteActions() {
|
||||||
$return = true;
|
$return = array();
|
||||||
if (isset($_POST['deletehomedir'])) {
|
if (isset($_POST['deletehomedir'])) {
|
||||||
// get list of lamdaemon servers
|
// get list of lamdaemon servers
|
||||||
$lamdaemonServers = explode(";", $_SESSION['config']->get_scriptServers());
|
$lamdaemonServers = explode(";", $_SESSION['config']->get_scriptServers());
|
||||||
|
@ -624,7 +623,7 @@ class posixAccount extends baseModule implements passwordService {
|
||||||
$singleresult = explode(",", $singleresult);
|
$singleresult = explode(",", $singleresult);
|
||||||
if (is_array($singleresult)) {
|
if (is_array($singleresult)) {
|
||||||
if (($singleresult[0] == 'ERROR') || ($singleresult[0] == 'WARN') || ($singleresult[0] == 'INFO')) {
|
if (($singleresult[0] == 'ERROR') || ($singleresult[0] == 'WARN') || ($singleresult[0] == 'INFO')) {
|
||||||
call_user_func_array('StatusMessage', $singleresult);
|
$return[] = $singleresult;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -271,9 +271,8 @@ class quota extends baseModule {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allows the module to run commands before the LDAP entry is deleted.
|
* Allows the module to run commands before the LDAP entry is deleted.
|
||||||
* An error message should be printed if the function returns false.
|
|
||||||
*
|
*
|
||||||
* @return true, if no problems occured
|
* @return array Array which contains status messages. Each entry is an array containing the status message parameters.
|
||||||
*/
|
*/
|
||||||
function preDeleteActions() {
|
function preDeleteActions() {
|
||||||
$this->initQuotas();
|
$this->initQuotas();
|
||||||
|
@ -306,7 +305,7 @@ class quota extends baseModule {
|
||||||
}
|
}
|
||||||
lamdaemon(implode(quota::$SPLIT_DELIMITER, array($id, "quota", "set", $this->get_scope(), "$quotastring\n")), $server);
|
lamdaemon(implode(quota::$SPLIT_DELIMITER, array($id, "quota", "set", $this->get_scope(), "$quotastring\n")), $server);
|
||||||
}
|
}
|
||||||
return true;
|
return array();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -123,6 +123,10 @@ if (isset($_POST['cancel'])) {
|
||||||
if (isset($_SESSION['delete_dn'])) unset($_SESSION['delete_dn']);
|
if (isset($_SESSION['delete_dn'])) unset($_SESSION['delete_dn']);
|
||||||
metaRefresh("lists/list.php?type=" . $_POST['type']);
|
metaRefresh("lists/list.php?type=" . $_POST['type']);
|
||||||
}
|
}
|
||||||
|
elseif (isset($_POST['cancelAllOk'])) {
|
||||||
|
if (isset($_SESSION['delete_dn'])) unset($_SESSION['delete_dn']);
|
||||||
|
metaRefresh("lists/list.php?type=" . $_POST['type'] . '&deleteAllOk=1');
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($_POST['delete'])) {
|
if (isset($_POST['delete'])) {
|
||||||
// Show HTML Page
|
// Show HTML Page
|
||||||
|
@ -133,6 +137,7 @@ if (isset($_POST['delete'])) {
|
||||||
echo "<br>\n";
|
echo "<br>\n";
|
||||||
|
|
||||||
// Delete dns
|
// Delete dns
|
||||||
|
$allOk = true;
|
||||||
for ($m=0; $m<count($_SESSION['delete_dn']); $m++) {
|
for ($m=0; $m<count($_SESSION['delete_dn']); $m++) {
|
||||||
// Set to true if an real error has happened
|
// Set to true if an real error has happened
|
||||||
$stopprocessing = false;
|
$stopprocessing = false;
|
||||||
|
@ -146,7 +151,18 @@ if (isset($_POST['delete'])) {
|
||||||
// predelete actions
|
// predelete actions
|
||||||
if (!$stopprocessing) {
|
if (!$stopprocessing) {
|
||||||
foreach ($moduleNames as $singlemodule) {
|
foreach ($moduleNames as $singlemodule) {
|
||||||
$success = $modules[$singlemodule]->preDeleteActions();
|
$success = true;
|
||||||
|
$messages = $modules[$singlemodule]->preDeleteActions();
|
||||||
|
for ($i = 0; $i < sizeof($messages); $i++) {
|
||||||
|
$errors[] = $messages[$i];
|
||||||
|
if ($messages[$i][0] == 'ERROR') {
|
||||||
|
$success = false;
|
||||||
|
$allOk = false;
|
||||||
|
}
|
||||||
|
elseif ($messages[$i][0] == 'WARN') {
|
||||||
|
$allOk = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (!$success) {
|
if (!$success) {
|
||||||
$stopprocessing = true;
|
$stopprocessing = true;
|
||||||
break;
|
break;
|
||||||
|
@ -177,7 +193,10 @@ if (isset($_POST['delete'])) {
|
||||||
if (isset($attributes[$DNs[$i]]['errors'])) {
|
if (isset($attributes[$DNs[$i]]['errors'])) {
|
||||||
foreach ($attributes[$DNs[$i]]['errors'] as $singleerror) {
|
foreach ($attributes[$DNs[$i]]['errors'] as $singleerror) {
|
||||||
$errors[] = $singleerror;
|
$errors[] = $singleerror;
|
||||||
if ($singleerror[0] == 'ERROR') $stopprocessing = true;
|
if ($singleerror[0] == 'ERROR') {
|
||||||
|
$stopprocessing = true;
|
||||||
|
$allOk = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!$stopprocessing) {
|
if (!$stopprocessing) {
|
||||||
|
@ -187,6 +206,7 @@ if (isset($_POST['delete'])) {
|
||||||
if (!$success) {
|
if (!$success) {
|
||||||
$errors[] = array ('ERROR', sprintf(_('Was unable to modify attribtues from DN: %s.'), $DNs[$i]), ldap_error($_SESSION['ldap']->server()));
|
$errors[] = array ('ERROR', sprintf(_('Was unable to modify attribtues from DN: %s.'), $DNs[$i]), ldap_error($_SESSION['ldap']->server()));
|
||||||
$stopprocessing = true;
|
$stopprocessing = true;
|
||||||
|
$allOk = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// add attributes
|
// add attributes
|
||||||
|
@ -195,6 +215,7 @@ if (isset($_POST['delete'])) {
|
||||||
if (!$success) {
|
if (!$success) {
|
||||||
$errors[] = array ('ERROR', sprintf(_('Was unable to add attribtues to DN: %s.'), $DNs[$i]), ldap_error($_SESSION['ldap']->server()));
|
$errors[] = array ('ERROR', sprintf(_('Was unable to add attribtues to DN: %s.'), $DNs[$i]), ldap_error($_SESSION['ldap']->server()));
|
||||||
$stopprocessing = true;
|
$stopprocessing = true;
|
||||||
|
$allOk = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// removce attributes
|
// removce attributes
|
||||||
|
@ -203,6 +224,7 @@ if (isset($_POST['delete'])) {
|
||||||
if (!$success) {
|
if (!$success) {
|
||||||
$errors[] = array ('ERROR', sprintf(_('Was unable to remove attribtues from DN: %s.'), $DNs[$i]), ldap_error($_SESSION['ldap']->server()));
|
$errors[] = array ('ERROR', sprintf(_('Was unable to remove attribtues from DN: %s.'), $DNs[$i]), ldap_error($_SESSION['ldap']->server()));
|
||||||
$stopprocessing = true;
|
$stopprocessing = true;
|
||||||
|
$allOk = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -210,34 +232,53 @@ if (isset($_POST['delete'])) {
|
||||||
}
|
}
|
||||||
if (!$stopprocessing) {
|
if (!$stopprocessing) {
|
||||||
$errors = deleteDN($_SESSION['delete_dn'][$m]);
|
$errors = deleteDN($_SESSION['delete_dn'][$m]);
|
||||||
if (sizeof($errors) > 0) $stopprocessing = true;
|
if (sizeof($errors) > 0) {
|
||||||
|
$stopprocessing = true;
|
||||||
|
$allOk = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// post delete actions
|
// post delete actions
|
||||||
if (!$stopprocessing) {
|
if (!$stopprocessing) {
|
||||||
foreach ($moduleNames as $singlemodule) {
|
foreach ($moduleNames as $singlemodule) {
|
||||||
$modules[$singlemodule]->postDeleteActions();
|
$messages = $modules[$singlemodule]->postDeleteActions();
|
||||||
|
for ($i = 0; $i < sizeof($messages); $i++) {
|
||||||
|
$errors[] = $messages[$i];
|
||||||
|
if (($messages[$i][0] == 'ERROR') || ($messages[$i][0] == 'WARN')) {
|
||||||
|
$allOk = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!$stopprocessing) {
|
if (!$stopprocessing) {
|
||||||
echo sprintf(_('Deleted DN: %s'), $_SESSION['delete_dn'][$m]) . "<br>\n";
|
echo sprintf(_('Deleted DN: %s'), $_SESSION['delete_dn'][$m]) . "<br>\n";
|
||||||
foreach ($errors as $error) StatusMessage($error[0], $error[1], $error[2]);
|
foreach ($errors as $error) {
|
||||||
|
call_user_func_array('StatusMessage', $error);
|
||||||
|
}
|
||||||
echo "<br>\n";
|
echo "<br>\n";
|
||||||
flush();
|
flush();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
echo sprintf(_('Error while deleting DN: %s'), $_SESSION['delete_dn'][$m]) . "<br>\n";
|
echo sprintf(_('Error while deleting DN: %s'), $_SESSION['delete_dn'][$m]) . "<br>\n";
|
||||||
foreach ($errors as $error) StatusMessage($error[0], $error[1], $error[2]);
|
foreach ($errors as $error) {
|
||||||
|
call_user_func_array('StatusMessage', $error);
|
||||||
|
}
|
||||||
echo "<br>\n";
|
echo "<br>\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
echo "<br>\n";
|
echo "<br>\n";
|
||||||
echo "<br><button class=\"smallPadding\" name=\"cancel\" id=\"backButton\">" . _('Back to list') . "</button>\n";
|
echo "<br><button class=\"smallPadding\" name=\"cancel\" id=\"backButton\">" . _('Back to list') . "</button>\n";
|
||||||
|
echo "<br><button class=\"hidden\" name=\"cancelAllOk\" id=\"backButtonAllOk\"> </button>\n";
|
||||||
echo "</div>\n";
|
echo "</div>\n";
|
||||||
echo "</form>\n";
|
echo "</form>\n";
|
||||||
?>
|
?>
|
||||||
<script type="text/javascript" language="javascript">
|
<script type="text/javascript" language="javascript">
|
||||||
jQuery(document).ready(function() {
|
jQuery(document).ready(function() {
|
||||||
jQuery('#backButton').button();
|
jQuery('#backButton').button();
|
||||||
|
<?php
|
||||||
|
if ($allOk) {
|
||||||
|
echo "jQuery('#backButtonAllOk').click();";
|
||||||
|
}
|
||||||
|
?>
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<?php
|
<?php
|
||||||
|
|
Loading…
Reference in New Issue