UNCLASSIFIED
Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
Platform One
P
Party Bus
Launchboard
launchboard-fe
Commits
ac0325ef
Commit
ac0325ef
authored
Feb 24, 2021
by
hunter.congress
Browse files
adding updating teams
parent
07a1a265
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
2476 additions
and
1347 deletions
+2476
-1347
package-lock.json
package-lock.json
+2393
-1312
package.json
package.json
+15
-15
src/api/services/team.js
src/api/services/team.js
+8
-4
src/api/services/user.js
src/api/services/user.js
+2
-1
src/components/AddTeam.vue
src/components/AddTeam.vue
+6
-7
src/components/UserSelect.vue
src/components/UserSelect.vue
+9
-5
src/views/Team.vue
src/views/Team.vue
+43
-3
No files found.
package-lock.json
View file @
ac0325ef
This diff is collapsed.
Click to expand it.
package.json
View file @
ac0325ef
...
@@ -29,38 +29,38 @@
...
@@ -29,38 +29,38 @@
"
vuex
"
:
"
^3.5.1
"
"
vuex
"
:
"
^3.5.1
"
},
},
"devDependencies"
:
{
"devDependencies"
:
{
"
@babel/plugin-transform-strict-mode
"
:
"
^7.
8.
3
"
,
"
@babel/plugin-transform-strict-mode
"
:
"
^7.
12.1
3
"
,
"
@mdi/font
"
:
"
^5.
3.4
5
"
,
"
@mdi/font
"
:
"
^5.
9.5
5
"
,
"
@vue/cli-plugin-babel
"
:
"
^4.5.
8
"
,
"
@vue/cli-plugin-babel
"
:
"
^4.5.
11
"
,
"
@vue/cli-plugin-e2e-cypress
"
:
"
^4.5.
8
"
,
"
@vue/cli-plugin-e2e-cypress
"
:
"
^4.5.
11
"
,
"
@vue/cli-plugin-eslint
"
:
"
^4.5.
8
"
,
"
@vue/cli-plugin-eslint
"
:
"
^4.5.
11
"
,
"
@vue/cli-plugin-router
"
:
"
^4.5.
8
"
,
"
@vue/cli-plugin-router
"
:
"
^4.5.
11
"
,
"
@vue/cli-plugin-unit-jest
"
:
"
^4.5.
8
"
,
"
@vue/cli-plugin-unit-jest
"
:
"
^4.5.
11
"
,
"
@vue/cli-service
"
:
"
^4.5.
8
"
,
"
@vue/cli-service
"
:
"
^4.5.
11
"
,
"
@vue/eslint-config-prettier
"
:
"
^6.0.0
"
,
"
@vue/eslint-config-prettier
"
:
"
^6.0.0
"
,
"
@vue/test-utils
"
:
"
^1.1.
2
"
,
"
@vue/test-utils
"
:
"
^1.1.
3
"
,
"
babel-eslint
"
:
"
^10.1.0
"
,
"
babel-eslint
"
:
"
^10.1.0
"
,
"
cypress
"
:
"
^5.4.0
"
,
"
cypress
"
:
"
^5.4.0
"
,
"
eslint
"
:
"
^6.8.0
"
,
"
eslint
"
:
"
^6.8.0
"
,
"
eslint-loader
"
:
"
^4.0.2
"
,
"
eslint-loader
"
:
"
^4.0.2
"
,
"
eslint-plugin-prettier
"
:
"
^3.
1
.1
"
,
"
eslint-plugin-prettier
"
:
"
^3.
3
.1
"
,
"
eslint-plugin-vue
"
:
"
^6.2.2
"
,
"
eslint-plugin-vue
"
:
"
^6.2.2
"
,
"
flush-promises
"
:
"
^1.0.2
"
,
"
flush-promises
"
:
"
^1.0.2
"
,
"
husky
"
:
"
^4.3.
5
"
,
"
husky
"
:
"
^4.3.
8
"
,
"
pre-commit
"
:
"
^1.2.2
"
,
"
pre-commit
"
:
"
^1.2.2
"
,
"
prettier
"
:
"
^2.2.1
"
,
"
prettier
"
:
"
^2.2.1
"
,
"
pretty-quick
"
:
"
^3.1.0
"
,
"
pretty-quick
"
:
"
^3.1.0
"
,
"
sass
"
:
"
^1.
29.0
"
,
"
sass
"
:
"
^1.
32.8
"
,
"
sass-loader
"
:
"
^8.0.2
"
,
"
sass-loader
"
:
"
^8.0.2
"
,
"
style-resources-loader
"
:
"
^1.3.2
"
,
"
style-resources-loader
"
:
"
^1.3.2
"
,
"
stylelint
"
:
"
^13.
0
.0
"
,
"
stylelint
"
:
"
^13.
11
.0
"
,
"
stylelint-webpack-plugin
"
:
"
^2.1.1
"
,
"
stylelint-webpack-plugin
"
:
"
^2.1.1
"
,
"
vue-cli-plugin-style-resources-loader
"
:
"
~0.1.4
"
,
"
vue-cli-plugin-style-resources-loader
"
:
"
~0.1.4
"
,
"
vue-cli-plugin-vuetify
"
:
"
~
2.0.
6
"
,
"
vue-cli-plugin-vuetify
"
:
"
^
2.0.
9
"
,
"
vue-loader-v16
"
:
"
^16.0.0-beta.5.4
"
,
"
vue-loader-v16
"
:
"
^16.0.0-beta.5.4
"
,
"
vue-svg-loader
"
:
"
^0.16.0
"
,
"
vue-svg-loader
"
:
"
^0.16.0
"
,
"
vue-template-compiler
"
:
"
^2.6.12
"
,
"
vue-template-compiler
"
:
"
^2.6.12
"
,
"
vuetify-loader
"
:
"
^1.
3.0
"
"
vuetify-loader
"
:
"
^1.
7.2
"
},
},
"eslintConfig"
:
{
"eslintConfig"
:
{
"root"
:
true
,
"root"
:
true
,
...
...
src/api/services/team.js
View file @
ac0325ef
...
@@ -24,12 +24,17 @@ export default {
...
@@ -24,12 +24,17 @@ export default {
}
}
},
},
async
updateTeam
({
id
,
name
,
description
,
capacity
})
{
async
updateTeam
(
team
,
addPOC
,
editedMembers
)
{
await
HTTP
.
put
(
`/teams/
${
id
}
`
,
{
name
,
description
,
capacity
});
console
.
log
(
"
UPDATING
"
,
team
,
addPOC
,
editedMembers
);
await
HTTP
.
put
(
`/teams/
${
team
.
id
}
/members`
,
editedMembers
);
if
(
addPOC
)
{
await
HTTP
.
post
(
`/teams/
${
team
.
id
}
/members`
,
addPOC
);
};
const
response
=
await
HTTP
.
put
(
`/teams/
${
team
.
id
}
`
,
team
);
return
response
;
},
},
async
deleteMembers
(
members
,
teamId
)
{
async
deleteMembers
(
members
,
teamId
)
{
console
.
log
(
members
);
await
HTTP
.
delete
(
`/teams/
${
teamId
}
/members`
,
{
await
HTTP
.
delete
(
`/teams/
${
teamId
}
/members`
,
{
params
:
{
userIds
:
`[
${
members
}
]`
},
params
:
{
userIds
:
`[
${
members
}
]`
},
});
});
...
@@ -43,7 +48,6 @@ export default {
...
@@ -43,7 +48,6 @@ export default {
});
});
},
},
async
addMembers
(
members
,
teamId
)
{
async
addMembers
(
members
,
teamId
)
{
console
.
log
(
members
);
for
(
let
i
=
0
;
i
<
members
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
members
.
length
;
i
++
)
{
console
.
log
(
"
USER
"
,
members
[
i
]);
console
.
log
(
"
USER
"
,
members
[
i
]);
await
this
.
addMember
(
members
[
i
],
teamId
,
members
[
i
].
isTeamLead
);
await
this
.
addMember
(
members
[
i
],
teamId
,
members
[
i
].
isTeamLead
);
...
...
src/api/services/user.js
View file @
ac0325ef
...
@@ -28,4 +28,5 @@ export default {
...
@@ -28,4 +28,5 @@ export default {
async
updateUserPreferences
(
preferences
)
{
async
updateUserPreferences
(
preferences
)
{
return
HTTP
.
post
(
"
/users/preferences
"
,
preferences
);
return
HTTP
.
post
(
"
/users/preferences
"
,
preferences
);
},
},
};
}
src/components/AddTeam.vue
View file @
ac0325ef
...
@@ -62,6 +62,8 @@
...
@@ -62,6 +62,8 @@
ref=
"UserSelect"
ref=
"UserSelect"
required
required
multiple
multiple
preload
:preloadData=
"toAdd.poc"
label=
"Select a Team Leads"
label=
"Select a Team Leads"
:rules=
"[inputRules.required]"
:rules=
"[inputRules.required]"
/>
/>
...
@@ -117,15 +119,11 @@ export default {
...
@@ -117,15 +119,11 @@ export default {
created
()
{
created
()
{
if
(
this
.
value
)
{
if
(
this
.
value
)
{
this
.
toAdd
=
cloneDeep
(
this
.
value
);
this
.
toAdd
=
cloneDeep
(
this
.
value
);
console
.
log
(
"
ADDED
"
,
this
.
toAdd
);
this
.
toAdd
.
poc
=
this
.
toAdd
.
members
.
filter
(
(
item
)
=>
item
.
TeamMember
.
isTeamLead
===
true
);
}
}
},
},
mounted
()
{
this
.
toAdd
.
poc
=
this
.
toAdd
.
members
.
filter
(
(
item
)
=>
item
.
TeamMember
.
isTeamLead
===
true
);
console
.
log
(
"
POC
"
,
this
.
toAdd
.
poc
);
},
methods
:
{
methods
:
{
init
()
{},
init
()
{},
cancel
()
{
cancel
()
{
...
@@ -137,6 +135,7 @@ export default {
...
@@ -137,6 +135,7 @@ export default {
this
.
init
();
this
.
init
();
},
},
edit
()
{
edit
()
{
console
.
log
(
"
Saving
"
,
this
.
toAdd
);
this
.
$emit
(
"
edit
"
,
this
.
toAdd
);
this
.
$emit
(
"
edit
"
,
this
.
toAdd
);
this
.
init
();
this
.
init
();
},
},
...
...
src/components/UserSelect.vue
View file @
ac0325ef
...
@@ -75,9 +75,14 @@ export default {
...
@@ -75,9 +75,14 @@ export default {
type
:
Boolean
,
type
:
Boolean
,
default
:
false
,
default
:
false
,
},
},
preload
:
{
type
:
Boolean
,
default
:
false
,
},
rules
:
Array
,
rules
:
Array
,
label
:
String
,
label
:
String
,
value
:
[
Object
,
Array
],
value
:
[
Object
,
Array
],
preloadData
:
Array
,
},
},
data
:
()
=>
({
data
:
()
=>
({
loading
:
false
,
loading
:
false
,
...
@@ -87,9 +92,8 @@ export default {
...
@@ -87,9 +92,8 @@ export default {
}),
}),
created
()
{
created
()
{
if
(
this
.
value
)
{
if
(
this
.
value
)
{
console
.
log
(
"
USERS
"
,
this
.
value
);
this
.
model
=
this
.
value
;
this
.
model
=
this
.
value
;
this
.
items
=
[
this
.
value
]
;
this
.
items
=
this
.
value
;
}
}
},
},
computed
:
{
computed
:
{
...
@@ -153,12 +157,12 @@ export default {
...
@@ -153,12 +157,12 @@ export default {
const
newItems
=
await
UserService
.
search
({
q
:
val
});
const
newItems
=
await
UserService
.
search
({
q
:
val
});
if
(
this
.
model
)
{
if
(
this
.
model
)
{
if
(
Array
.
isArray
(
this
.
model
))
{
if
(
Array
.
isArray
(
this
.
model
))
{
this
.
items
=
uniq
([...
newItems
,
...
this
.
model
]);
this
.
items
=
uniq
([...
newItems
.
users
,
...
this
.
model
]);
}
else
{
}
else
{
this
.
items
=
uniq
([...
newItems
,
this
.
model
]);
this
.
items
=
uniq
([...
newItems
.
users
,
this
.
model
]);
}
}
}
else
{
}
else
{
this
.
items
=
newItems
;
this
.
items
=
newItems
.
users
;
}
}
}
catch
(
e
)
{
}
catch
(
e
)
{
console
.
error
(
"
unable to get users
"
,
e
);
console
.
error
(
"
unable to get users
"
,
e
);
...
...
src/views/Team.vue
View file @
ac0325ef
...
@@ -100,6 +100,7 @@
...
@@ -100,6 +100,7 @@
<UserSelect
<UserSelect
ref=
"userSelect"
ref=
"userSelect"
v-model=
"memberToAdd"
v-model=
"memberToAdd"
multiple
:rules=
"[
:rules=
"[
inputRules.required,
inputRules.required,
inputRules.duplicates(
inputRules.duplicates(
...
@@ -288,6 +289,7 @@ export default {
...
@@ -288,6 +289,7 @@ export default {
this
.
team
=
await
TeamService
.
getTeamForUser
();
this
.
team
=
await
TeamService
.
getTeamForUser
();
}
}
}
else
{
}
else
{
console
.
log
(
"
THIS CANNOT BE ME
"
);
await
this
.
getTeams
();
await
this
.
getTeams
();
}
}
}
catch
(
error
)
{
}
catch
(
error
)
{
...
@@ -303,6 +305,7 @@ export default {
...
@@ -303,6 +305,7 @@ export default {
}
}
try
{
try
{
this
.
team
=
await
TeamService
.
getTeam
(
this
.
$route
.
params
.
teamId
);
this
.
team
=
await
TeamService
.
getTeam
(
this
.
$route
.
params
.
teamId
);
console
.
log
(
"
TEAM
"
,
this
.
team
);
}
catch
(
error
)
{
}
catch
(
error
)
{
console
.
error
(
"
!teams error!
"
,
error
);
console
.
error
(
"
!teams error!
"
,
error
);
}
finally
{
}
finally
{
...
@@ -312,9 +315,46 @@ export default {
...
@@ -312,9 +315,46 @@ export default {
},
},
async
editTeam
(
editedTeam
)
{
async
editTeam
(
editedTeam
)
{
this
.
state
.
isEditingTeamDetailsBusy
=
true
;
this
.
state
.
isEditingTeamDetailsBusy
=
true
;
console
.
log
(
"
THIS IS EDITTED
"
,
editedTeam
);
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
=
[];
for
(
let
i
=
0
;
i
<
editedTeam
.
poc
.
length
;
i
++
)
{
if
(
!
editMembersId
.
includes
(
editedTeam
.
poc
[
i
].
id
))
{
console
.
log
(
"
ADDING
"
,
editedTeam
.
poc
[
i
].
name
)
addTeamLeads
.
push
({
userId
:
editedTeam
.
poc
[
i
].
id
,
isTeamLead
:
true
});
}
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
,
});
}
}
editTeamMembers
.
concat
(
currentPOCId
.
map
(
function
(
member
)
{
if
(
!
newPOCId
.
includes
(
member
))
{
console
.
log
(
"
DEMOTING
"
,
member
);
return
{
userId
:
member
,
isTeamLead
:
false
};
}
})
);
console
.
log
(
"
addTeamLeads
"
,
addTeamLeads
);
console
.
log
(
"
REMOVE TEAM LEAD
"
,
editTeamMembers
);
try
{
try
{
this
.
team
=
await
TeamService
.
updateTeam
(
editedTeam
);
this
.
team
=
await
TeamService
.
updateTeam
(
editedTeam
,
addTeamLeads
,
editTeamMembers
);
// success state
// success state
this
.
snackbars
.
teamDetails
=
true
;
this
.
snackbars
.
teamDetails
=
true
;
this
.
state
.
showEditDialog
=
false
;
this
.
state
.
showEditDialog
=
false
;
...
@@ -336,7 +376,7 @@ export default {
...
@@ -336,7 +376,7 @@ export default {
}
}
this
.
state
.
isAddingBusy
=
true
;
this
.
state
.
isAddingBusy
=
true
;
try
{
try
{
await
TeamService
.
addMember
(
member
,
this
.
$route
.
params
.
teamId
,
false
);
await
TeamService
.
addMember
s
(
member
,
this
.
$route
.
params
.
teamId
,
false
);
this
.
memberToAdd
=
member
;
this
.
memberToAdd
=
member
;
this
.
snackbars
.
add
=
true
;
this
.
snackbars
.
add
=
true
;
}
catch
(
e
)
{
}
catch
(
e
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment