mirror of
https://github.com/nitnelave/lldap.git
synced 2023-04-12 14:25:13 +00:00
app: Add the group memberships
This commit is contained in:
parent
718da71d0d
commit
a54e73bded
@ -6,5 +6,8 @@ query GetUserDetails($id: String!) {
|
|||||||
firstName
|
firstName
|
||||||
lastName
|
lastName
|
||||||
creationDate
|
creationDate
|
||||||
|
groups {
|
||||||
|
id
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -134,19 +134,24 @@ impl UserDetails {
|
|||||||
Ok(_) => {
|
Ok(_) => {
|
||||||
ConsoleService::log("Successfully updated user");
|
ConsoleService::log("Successfully updated user");
|
||||||
self.update_successful = true;
|
self.update_successful = true;
|
||||||
let user = self.user.as_ref().unwrap();
|
let User {
|
||||||
|
id,
|
||||||
|
display_name,
|
||||||
|
first_name,
|
||||||
|
last_name,
|
||||||
|
email,
|
||||||
|
creation_date,
|
||||||
|
groups,
|
||||||
|
} = self.user.take().unwrap();
|
||||||
let new_user = self.update_request.take().unwrap();
|
let new_user = self.update_request.take().unwrap();
|
||||||
self.user = Some(User {
|
self.user = Some(User {
|
||||||
id: user.id.clone(),
|
id,
|
||||||
email: new_user.email.unwrap_or_else(|| user.email.clone()),
|
email: new_user.email.unwrap_or(email),
|
||||||
display_name: new_user
|
display_name: new_user.displayName.unwrap_or(display_name),
|
||||||
.displayName
|
first_name: new_user.firstName.unwrap_or(first_name),
|
||||||
.unwrap_or_else(|| user.display_name.clone()),
|
last_name: new_user.lastName.unwrap_or(last_name),
|
||||||
first_name: new_user
|
creation_date,
|
||||||
.firstName
|
groups,
|
||||||
.unwrap_or_else(|| user.first_name.clone()),
|
|
||||||
last_name: new_user.lastName.unwrap_or_else(|| user.last_name.clone()),
|
|
||||||
creation_date: user.creation_date,
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -209,6 +214,15 @@ impl Component for UserDetails {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn view(&self) -> Html {
|
fn view(&self) -> Html {
|
||||||
|
type Group = get_user_details::GetUserDetailsUserGroups;
|
||||||
|
let make_group_row = |group: &Group| {
|
||||||
|
html! {
|
||||||
|
<tr>
|
||||||
|
<td><button>{"-"}</button></td>
|
||||||
|
<td>{&group.id}</td>
|
||||||
|
</tr>
|
||||||
|
}
|
||||||
|
};
|
||||||
match (&self.user, &self.error) {
|
match (&self.user, &self.error) {
|
||||||
(None, None) => html! {{"Loading..."}},
|
(None, None) => html! {{"Loading..."}},
|
||||||
(None, Some(e)) => html! {<div>{"Error: "}{e.to_string()}</div>},
|
(None, Some(e)) => html! {<div>{"Error: "}{e.to_string()}</div>},
|
||||||
@ -253,6 +267,19 @@ impl Component for UserDetails {
|
|||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
} else { html! {} }}
|
} else { html! {} }}
|
||||||
|
<div>
|
||||||
|
<span>{"Group memberships"}</span>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th></th>
|
||||||
|
<th>{"Group"}</th>
|
||||||
|
</tr>
|
||||||
|
{u.groups.iter().map(make_group_row).collect::<Vec<_>>()}
|
||||||
|
<tr>
|
||||||
|
<td><button>{"+"}</button></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<NavButton route=AppRoute::ChangePassword(self.username.clone())>{"Change password"}</NavButton>
|
<NavButton route=AppRoute::ChangePassword(self.username.clone())>{"Change password"}</NavButton>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user