mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-12 12:33:02 +00:00
Fixed bug where users where deleted when changing group properties
This commit is contained in:
@@ -1,18 +1,6 @@
|
|||||||
import React, { useState } from "react";
|
import React, { useState } from "react";
|
||||||
import "./table-select.css";
|
import "./table-select.css";
|
||||||
|
|
||||||
function hasDuplicates(array) {
|
|
||||||
var valuesSoFar = Object.create(null);
|
|
||||||
for (var i = 0; i < array.length; ++i) {
|
|
||||||
var value = array[i];
|
|
||||||
if (value in valuesSoFar) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
valuesSoFar[value] = true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
export default class DynamicTable extends React.Component {
|
export default class DynamicTable extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
|
@@ -86,7 +86,7 @@ const GroupEdit = (props) => {
|
|||||||
setProp={setProp}
|
setProp={setProp}
|
||||||
setPropKeys={setPropKeys}
|
setPropKeys={setPropKeys}
|
||||||
setPropValues={setPropValues}
|
setPropValues={setPropValues}
|
||||||
setChanged={setChanged}
|
|
||||||
//Add keys
|
//Add keys
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -102,12 +102,6 @@ const GroupEdit = (props) => {
|
|||||||
id="submit"
|
id="submit"
|
||||||
className="btn btn-primary"
|
className="btn btn-primary"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
// check for changes
|
|
||||||
//if (!changed) {
|
|
||||||
// history.push("/groups");
|
|
||||||
// return;
|
|
||||||
//}
|
|
||||||
|
|
||||||
let new_users = selected.filter(
|
let new_users = selected.filter(
|
||||||
(e) => !group_data.users.includes(e)
|
(e) => !group_data.users.includes(e)
|
||||||
);
|
);
|
||||||
@@ -115,12 +109,16 @@ const GroupEdit = (props) => {
|
|||||||
(e) => !selected.includes(e)
|
(e) => !selected.includes(e)
|
||||||
);
|
);
|
||||||
let promiseQueue = [];
|
let promiseQueue = [];
|
||||||
if (new_users.length > 0)
|
// check for changes
|
||||||
promiseQueue.push(addToGroup(new_users, group_data.name));
|
if (changed) {
|
||||||
if (removed_users.length > 0)
|
if (new_users.length > 0)
|
||||||
promiseQueue.push(
|
promiseQueue.push(addToGroup(new_users, group_data.name));
|
||||||
removeFromGroup(removed_users, group_data.name)
|
if (removed_users.length > 0)
|
||||||
);
|
promiseQueue.push(
|
||||||
|
removeFromGroup(removed_users, group_data.name)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (hasDuplicates(propkeys) == true) {
|
if (hasDuplicates(propkeys) == true) {
|
||||||
error.textContent = "Duplicate key found!";
|
error.textContent = "Duplicate key found!";
|
||||||
error.style.color = "red";
|
error.style.color = "red";
|
||||||
|
Reference in New Issue
Block a user