diff --git a/gosa-plugins/samba/personal/samba/main.inc b/gosa-plugins/samba/personal/samba/main.inc
index 890e7a0a1c9ae1ee44aff546dfda63e064d673c5..9067f2107856925257cefd9dd31b1c6dd441aafc 100644 (file)
$display = "";
$lock_msg = "";
-if (!$remove_lock){
+
+/* Remove classes and variables from session
+ */
+if ( $cleanup ){
+ session::un_set('sambaAccount');
+ session::un_set('edit');
+}
+
+if ( $remove_lock){
+ if(session::is_set('sambaAccount') && session::is_set('edit')){
+ del_lock ($ui->dn);
+ }
+
+}else{
+
/* Reset requested? */
if (isset($_POST['edit_cancel']) ||
(isset($_GET['reset']) && $_GET['reset'] == 1)){
- del_lock ($ui->dn);
+ /* Only remove lock if object was opened
+ */
+ if(session::is_set('sambaAccount') && session::is_set('edit')){
+ del_lock ($ui->dn);
+ }
session::un_set ('edit');
session::un_set ('sambaAccount');
}
/* Lock the current entry */
add_lock ($ui->dn, $ui->dn);
- session::set('dn',$ui->dn);
session::set('edit',TRUE);
}
}