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
89a1177e
Commit
89a1177e
authored
Feb 24, 2021
by
hunter.congress
Browse files
adding teams
parents
a87f386f
78a69f9e
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
54 additions
and
61 deletions
+54
-61
package-lock.json
package-lock.json
+3
-25
src/api/services/team.js
src/api/services/team.js
+13
-6
src/api/services/user.js
src/api/services/user.js
+1
-2
src/components/AddTeam.vue
src/components/AddTeam.vue
+7
-3
src/views/Team.vue
src/views/Team.vue
+30
-25
No files found.
package-lock.json
View file @
89a1177e
...
@@ -176,12 +176,6 @@
...
@@ -176,12 +176,6 @@
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
"dev": true
},
},
"semver": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
"integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
"dev": true
},
"source-map": {
"source-map": {
"version": "0.5.7",
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
...
@@ -564,18 +558,7 @@
...
@@ -564,18 +558,7 @@
"lodash": {
"lodash": {
"version": "4.17.21",
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
},
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
},
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
"dev": true
}
}
}
}
...
@@ -1592,7 +1575,8 @@
...
@@ -1592,7 +1575,8 @@
"lodash": {
"lodash": {
"version": "4.17.21",
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
},
"source-map": {
"source-map": {
"version": "0.5.7",
"version": "0.5.7",
...
@@ -13057,12 +13041,6 @@
...
@@ -13057,12 +13041,6 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
},
"lodash.debounce": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
"integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
"dev": true
},
"lodash.defaultsdeep": {
"lodash.defaultsdeep": {
"version": "4.6.1",
"version": "4.6.1",
"resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz",
"resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz",
...
...
src/api/services/team.js
View file @
89a1177e
...
@@ -26,12 +26,19 @@ export default {
...
@@ -26,12 +26,19 @@ export default {
async
updateTeam
(
team
)
{
async
updateTeam
(
team
)
{
const
{
name
,
description
,
capacity
}
=
team
;
const
{
name
,
description
,
capacity
}
=
team
;
await
HTTP
.
put
(
`/teams/
${
team
.
id
}
`
,
{
name
,
description
,
capacity
});
return
HTTP
.
put
(
`/teams/
${
team
.
id
}
`
,
{
await
HTTP
.
put
(
name
,
`/teams/
${
team
.
id
}
/members`
,
description
,
team
.
members
.
map
((
member
)
=>
member
.
value
)
capacity
,
);
});
return
team
;
},
async
updateTeamMembers
(
team
)
{
const
membersBody
=
team
.
members
.
map
((
m
)
=>
({
userId
:
m
.
id
,
isTeamLead
:
m
.
TeamMember
.
isTeamLead
,
}));
return
HTTP
.
put
(
`/teams/
${
team
.
id
}
/members`
,
membersBody
);
},
},
async
deleteMembers
(
members
,
teamId
)
{
async
deleteMembers
(
members
,
teamId
)
{
...
...
src/api/services/user.js
View file @
89a1177e
...
@@ -28,5 +28,4 @@ export default {
...
@@ -28,5 +28,4 @@ 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 @
89a1177e
...
@@ -142,17 +142,21 @@ export default {
...
@@ -142,17 +142,21 @@ export default {
// merge members and leads
// merge members and leads
const
members
=
new
Map
();
const
members
=
new
Map
();
this
.
toAdd
.
members
.
forEach
((
member
)
=>
{
this
.
toAdd
.
members
.
forEach
((
member
)
=>
{
<<<<<<<
HEAD
member
.
isTeamLead
=
false
;
member
.
isTeamLead
=
false
;
=======
member
.
TeamMember
=
{
isTeamLead
:
false
};
>>>>>>>
78
a69f9ef6cde8f07878773231933cb881538a2f
members
.
set
(
member
.
id
,
member
);
members
.
set
(
member
.
id
,
member
);
});
});
console
.
log
(
this
.
toAdd
);
console
.
log
(
this
.
toAdd
);
this
.
leads
.
forEach
((
lead
)
=>
{
this
.
leads
.
forEach
((
lead
)
=>
{
lead
.
TeamMember
.
isTeamLead
=
true
;
lead
.
TeamMember
=
{
isTeamLead
:
true
}
;
members
.
set
(
lead
.
id
,
lead
);
members
.
set
(
lead
.
id
,
lead
);
});
});
this
.
toAdd
.
members
=
members
.
values
();
this
.
toAdd
.
members
=
[...
members
.
values
()
]
;
this
.
$emit
(
"
edit
"
,
this
.
toAdd
);
this
.
$emit
(
"
edit
"
,
this
.
toAdd
,
this
.
leads
);
this
.
init
();
this
.
init
();
},
},
},
},
...
...
src/views/Team.vue
View file @
89a1177e
...
@@ -273,32 +273,35 @@ export default {
...
@@ -273,32 +273,35 @@ export default {
inputRules
,
inputRules
,
}),
}),
async
mounted
()
{
async
mounted
()
{
try
{
this
.
init
();
this
.
loading
=
true
;
},
methods
:
{
async
init
()
{
try
{
this
.
loading
=
true
;
// no team specified
// no team specified
if
(
!
this
.
$route
.
params
.
teamId
)
{
if
(
!
this
.
$route
.
params
.
teamId
)
{
// Admin and Dojo Master don't have a team, so redirect them since
// Admin and Dojo Master don't have a team, so redirect them since
// they don't have a reason to be on this page without a specific id
// they don't have a reason to be on this page without a specific id
this
.
user
=
this
.
$store
.
state
.
user
.
user
;
this
.
user
=
this
.
$store
.
state
.
user
.
user
;
if
(
this
.
user
.
permission
!==
Permission
.
USER
)
{
if
(
this
.
user
.
permission
!==
Permission
.
USER
)
{
console
.
warn
(
"
redirecting privileged user to /teams
"
);
console
.
warn
(
"
redirecting privileged user to /teams
"
);
this
.
$router
.
push
(
"
/teams
"
);
this
.
$router
.
push
(
"
/teams
"
);
}
else
{
// get the current user's team
this
.
team
=
await
TeamService
.
getMyTeam
();
}
}
else
{
}
else
{
// get the current user's team
console
.
log
(
"
THIS CANNOT BE ME
"
);
this
.
team
=
await
TeamService
.
get
My
Team
();
await
this
.
getTeam
s
();
}
}
}
else
{
}
catch
(
error
)
{
console
.
log
(
"
THIS CANNOT BE ME
"
);
console
.
error
(
"
!user error!
"
,
error
);
await
this
.
getTeams
();
}
finally
{
this
.
loading
=
false
;
}
}
}
catch
(
error
)
{
},
console
.
error
(
"
!user error!
"
,
error
);
}
finally
{
this
.
loading
=
false
;
}
},
methods
:
{
async
getTeams
()
{
async
getTeams
()
{
if
(
this
.
initialLoad
)
{
if
(
this
.
initialLoad
)
{
this
.
loading
=
true
;
this
.
loading
=
true
;
...
@@ -314,15 +317,17 @@ export default {
...
@@ -314,15 +317,17 @@ export default {
}
}
},
},
async
editTeam
(
editedTeam
)
{
async
editTeam
(
editedTeam
)
{
console
.
log
(
"
EDITTED
"
,
editedTeam
);
this
.
state
.
isEditingTeamDetailsBusy
=
true
;
this
.
state
.
isEditingTeamDetailsBusy
=
true
;
try
{
try
{
this
.
team
=
await
TeamService
.
updateTeam
(
editedTeam
);
await
TeamService
.
updateTeam
(
editedTeam
);
// the editedTeam.members will essentially just be the team leads
await
TeamService
.
updateTeamMembers
(
editedTeam
);
// success state
// success state
this
.
snackbars
.
teamDetails
=
true
;
this
.
snackbars
.
teamDetails
=
true
;
this
.
state
.
showEditDialog
=
false
;
this
.
state
.
showEditDialog
=
false
;
this
.
init
();
}
catch
(
e
)
{
}
catch
(
e
)
{
// TODO: no error message to the user???
console
.
error
(
"
error editing team
"
,
e
);
console
.
error
(
"
error editing team
"
,
e
);
}
finally
{
}
finally
{
this
.
state
.
isEditingTeamDetailsBusy
=
false
;
this
.
state
.
isEditingTeamDetailsBusy
=
false
;
...
...
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