Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add partial role support for manager only using web-vault v2024.12.0 #5219

Merged
merged 7 commits into from
Jan 4, 2025
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Small changes for v2024.12.0
Signed-off-by: BlackDex <black.dex@gmail.com>
BlackDex committed Jan 1, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
commit 4e59ba23251c411a04abee2c42de196f22c235d4
17 changes: 15 additions & 2 deletions src/api/core/organizations.rs
Original file line number Diff line number Diff line change
@@ -78,6 +78,7 @@ pub fn routes() -> Vec<Route> {
restore_organization_user,
bulk_restore_organization_user,
get_groups,
get_groups_details,
post_groups,
get_group,
put_group,
@@ -99,6 +100,7 @@ pub fn routes() -> Vec<Route> {
get_org_export,
api_key,
rotate_api_key,
get_billing_metadata,
]
}

@@ -1369,7 +1371,7 @@ async fn edit_user(
) -> EmptyResult {
let mut data: EditUserData = data.into_inner();

// HACK: We need the raw user-type be be sure custom role is selected to determine the access_all permission
// HACK: We need the raw user-type be be sure custom role is selected to determine the access_all permission
BlackDex marked this conversation as resolved.
Show resolved Hide resolved
// The from_str() will convert the custom role type into a manager role type
let raw_type = &data.r#type.into_string();
// UserOrgType::from_str will convert custom (4) to manager (3)
@@ -1981,6 +1983,12 @@ fn get_plans_tax_rates(_headers: Headers) -> Json<Value> {
Json(_empty_data_json())
}

#[get("/organizations/<_org_id>/billing/metadata")]
fn get_billing_metadata(_org_id: &str, _headers: Headers) -> Json<Value> {
// Prevent a 404 error, which also causes Javascript errors.
Json(_empty_data_json())
}

fn _empty_data_json() -> Value {
json!({
"object": "list",
@@ -2379,6 +2387,11 @@ async fn get_groups(org_id: &str, _headers: ManagerHeadersLoose, mut conn: DbCon
})))
}

#[get("/organizations/<org_id>/groups/details", rank = 1)]
async fn get_groups_details(org_id: &str, headers: ManagerHeadersLoose, conn: DbConn) -> JsonResult {
get_groups(org_id, headers, conn).await
}

#[derive(Deserialize)]
#[serde(rename_all = "camelCase")]
struct GroupRequest {
@@ -2628,7 +2641,7 @@ async fn bulk_delete_groups(
Ok(())
}

#[get("/organizations/<org_id>/groups/<group_id>")]
#[get("/organizations/<org_id>/groups/<group_id>", rank = 2)]
async fn get_group(org_id: &str, group_id: &str, _headers: AdminHeaders, mut conn: DbConn) -> JsonResult {
if !CONFIG.org_groups_enabled() {
err!("Group support is disabled");
7 changes: 6 additions & 1 deletion src/static/templates/scss/vaultwarden.scss.hbs
Original file line number Diff line number Diff line change
@@ -54,7 +54,12 @@ app-organization-plans > form > bit-section:nth-child(2) {

/* Hide Collection Management Form */
app-org-account form.ng-untouched:nth-child(6) {
display:none !important
@extend %vw-hide;
}

/* Hide 'Member Access' Report Card from Org Reports */
app-org-reports-home > app-report-list > div.tw-inline-grid > div:nth-child(6) {
@extend %vw-hide;
}

/* Hide Device Verification form at the Two Step Login screen */