diff --git a/lam/HISTORY b/lam/HISTORY index 2047b04e..9d65bbe2 100644 --- a/lam/HISTORY +++ b/lam/HISTORY @@ -1,6 +1,7 @@ 6.8 - - Windows: added home drive and force password change to profile editor + - Parallel editing of multiple entries in different browser tabs supported - LAM supports the progressive web app standard which allows to install LAM as an icon on home screen + - Windows: added home drive and force password change to profile editor - LAM Pro: -> Bind DLZ: entry table can show record data (use special attribute "#records" in server profile) - Fixed bugs: diff --git a/lam/lib/modules.inc b/lam/lib/modules.inc index d0e8729a..4d887095 100644 --- a/lam/lib/modules.inc +++ b/lam/lib/modules.inc @@ -745,9 +745,8 @@ class accountContainer { * * @param ConfiguredType $type account type * @param string $base key in $_SESSION where this object is saved - * @param integer $randomID random ID to avoid parallel editing (default: null) */ - function __construct($type, $base, $randomID = null) { + function __construct($type, $base) { if (!($type instanceof ConfiguredType)) { trigger_error('Argument of accountContainer must be ConfiguredType.', E_USER_ERROR); } @@ -760,7 +759,6 @@ class accountContainer { $this->current_page=0; $this->subpage='attributes'; $this->isNewAccount = false; - $this->randomID = $randomID; return 0; } @@ -824,8 +822,6 @@ class accountContainer { /** send password via mail to this alternate address */ private $sendPasswordViaMailAlternateAddress = null; - /** random ID number to avoid parallel editing of accounts in multiple browser tabs */ - private $randomID = null; /** * Returns the account module with the given class name @@ -865,10 +861,6 @@ class accountContainer { * It prints the HTML code of each account page. */ function continue_main() { - if (!empty($_POST['account_randomID']) && ($this->randomID != $_POST['account_randomID'])) { - metaRefresh("../lists/list.php?type=" . $this->type->getId() . '&accountEditInvalidID=true'); - exit(); - } $oldPage = $this->current_page; $oldSubpage = $this->subpage; $result = array(); @@ -1322,7 +1314,7 @@ class accountContainer { $passwordButton = new htmlButton('accountContainerPassword', _('Set password')); $passwordButton->setIconClass('passwordButton'); $passwordButton->setOnClick('passwordShowChangeDialog(\'' . _('Set password') . '\', \'' . _('Ok') . '\', \'' - . _('Cancel') . '\', \'' . _('Set random password') . '\', \'../misc/ajax.php?function=passwordChange\',\'' + . _('Cancel') . '\', \'' . _('Set random password') . '\', \'../misc/ajax.php?function=passwordChange&editKey=' . htmlspecialchars($this->base) . '\',\'' . getSecurityTokenName() . '\',\'' . getSecurityTokenValue() . '\');'); $leftButtonGroup->addElement($passwordButton); } @@ -1377,8 +1369,7 @@ class accountContainer { jQuery("#inputForm").validationEngine(); }); '; - echo "