UNCLASSIFIED

Commit 9f205616 authored by hunter.congress's avatar hunter.congress
Browse files

updated undo and adding members

parent 106eca09
...@@ -24,16 +24,14 @@ export default { ...@@ -24,16 +24,14 @@ export default {
} }
}, },
async updateTeam(team, addPOC, editedMembers) { async updateTeam(team) {
console.log("UPDATING", team, addPOC, editedMembers); const { name, description, capacity } = team;
if (editedMembers.length !== 0) { await HTTP.put(`/teams/${team.id}`, { name, description, capacity });
await HTTP.put(`/teams/${team.id}/members`, editedMembers); await HTTP.put(
} `/teams/${team.id}/members`,
if (addPOC.length !== 0) { team.members.map((member) => member.value)
await HTTP.post(`/teams/${team.id}/members`, addPOC); );
}; return team;
const response = await HTTP.put(`/teams/${team.id}`, team);
return response;
}, },
async deleteMembers(members, teamId) { async deleteMembers(members, teamId) {
......
...@@ -314,52 +314,11 @@ export default { ...@@ -314,52 +314,11 @@ export default {
} }
}, },
async editTeam(editedTeam) { async editTeam(editedTeam) {
console.log("EDITTED", editedTeam);
this.state.isEditingTeamDetailsBusy = true; this.state.isEditingTeamDetailsBusy = true;
//1 filtering out to only get IDs from various groups of users
const editMembersId = editedTeam.members.map((member) => member.id);
const newPOCId = editedTeam.poc.map((member) => member.id);
let currentPOCId = this.team.members.filter(
(member) => member.TeamMember.isTeamLead === true
);
currentPOCId = currentPOCId.map((member) => member.id);
console.log("ID", editMembersId);
const addTeamLeads = [];
const editTeamMembers = [];
//2 sorting throught the new team leads to decide whether or not they need to be added or updated to team leads
for (let i = 0; i < editedTeam.poc.length; i++) {
//adding
if (!editMembersId.includes(editedTeam.poc[i].id)) {
console.log("ADDING", editedTeam.poc[i].name);
addTeamLeads.push({ userId: editedTeam.poc[i].id, isTeamLead: true });
} //upgrading users
else if (
editMembersId.includes(editedTeam.poc[i].id) &&
!currentPOCId.includes(editedTeam.poc[i].id)
) {
console.log("UPGRADING", editedTeam.poc[i].name);
editTeamMembers.push({
userId: editedTeam.poc[i].id,
isTeamLead: true,
});
}
}
//seeing a person needs to be removed from team lead
const toADD = currentPOCId.map(function (member) {
if (!newPOCId.includes(member)) {
console.log("DEMOTING", member);
return { userId: member, isTeamLead: false };
}
});
console.log("ADDING", toADD);
editTeamMembers.concat(toADD);
console.log("addTeamLeads", addTeamLeads);
console.log("REMOVE TEAM LEAD", editTeamMembers);
try { try {
this.team = await TeamService.updateTeam( this.team = await TeamService.updateTeam(editedTeam);
editedTeam,
addTeamLeads,
editTeamMembers
);
// success state // success state
this.snackbars.teamDetails = true; this.snackbars.teamDetails = true;
this.state.showEditDialog = false; this.state.showEditDialog = false;
...@@ -381,7 +340,7 @@ export default { ...@@ -381,7 +340,7 @@ export default {
} }
this.state.isAddingBusy = true; this.state.isAddingBusy = true;
member = member.map(function (member) { member = member.map(function (member) {
return { userId: member.id, isTeamLead: true }; return { userId: member.id, isTeamLead: false };
}); });
try { try {
await TeamService.addMembers(member, this.$route.params.teamId); await TeamService.addMembers(member, this.$route.params.teamId);
...@@ -400,17 +359,7 @@ export default { ...@@ -400,17 +359,7 @@ export default {
this.snackbars.delete = false; this.snackbars.delete = false;
this.state.isDeleting = true; this.state.isDeleting = true;
this.deletingMembers = this.selectedMembers; this.deletingMembers = this.selectedMembers;
for (let i = 0; i < this.deletingMembers.length; i++) {
const tempMember = this.team.members.filter(
(member) => member.id === this.deletingMembers[i].id
);
this.deletingMembers[i] = {
...this.deletingMembers[i],
isTeamLead: tempMember[0].TeamMember.isTeamLead,
};
}
this.deletingMembers.forEach((m) => Vue.set(m, "isDeleting", true)); this.deletingMembers.forEach((m) => Vue.set(m, "isDeleting", true));
try { try {
await TeamService.deleteMembers( await TeamService.deleteMembers(
this.deletingMembers.map((item) => item.id), this.deletingMembers.map((item) => item.id),
...@@ -431,11 +380,12 @@ export default { ...@@ -431,11 +380,12 @@ export default {
// keep the delete snackbar open // keep the delete snackbar open
this.snackbars.deleteTimeout = -1; this.snackbars.deleteTimeout = -1;
this.state.isUndoingDelete = true; this.state.isUndoingDelete = true;
console.log("Deleted", this.deletingMembers);
const members = this.deletingMembers.map(function (member) {
return { userId: member.id, isTeamLead: member.TeamMember.isTeamLead };
});
try { try {
await TeamService.addMembers( await TeamService.addMembers(members, this.$route.params.teamId);
this.deletingMembers,
this.$route.params.teamId
);
} catch (e) { } catch (e) {
//TODO: error message to the user??? //TODO: error message to the user???
console.error("error restoring member:", e); console.error("error restoring member:", e);
...@@ -458,7 +408,6 @@ export default { ...@@ -458,7 +408,6 @@ export default {
computed: { computed: {
canEdit() { canEdit() {
// TODO: pull this from user info // TODO: pull this from user info
return true; return true;
}, },
availableSlots() { availableSlots() {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment