mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-10-01 01:36:12 -04:00
* Handle empty reason for registration application denial (fixes #3485) * clippy * clippy
This commit is contained in:
parent
50b7322ff3
commit
626c7ebc85
@ -4,7 +4,6 @@ use bcrypt::verify;
|
|||||||
use lemmy_api_common::{
|
use lemmy_api_common::{
|
||||||
context::LemmyContext,
|
context::LemmyContext,
|
||||||
person::{Login, LoginResponse},
|
person::{Login, LoginResponse},
|
||||||
utils,
|
|
||||||
utils::check_user_valid,
|
utils::check_user_valid,
|
||||||
};
|
};
|
||||||
use lemmy_db_schema::{
|
use lemmy_db_schema::{
|
||||||
@ -89,15 +88,12 @@ async fn check_registration_application(
|
|||||||
&& !local_user_view.local_user.accepted_application
|
&& !local_user_view.local_user.accepted_application
|
||||||
&& !local_user_view.local_user.admin
|
&& !local_user_view.local_user.admin
|
||||||
{
|
{
|
||||||
// Fetch the registration, see if its denied
|
// Fetch the registration application. If no admin id is present its still pending. Otherwise it
|
||||||
|
// was processed (either accepted or denied).
|
||||||
let local_user_id = local_user_view.local_user.id;
|
let local_user_id = local_user_view.local_user.id;
|
||||||
let registration = RegistrationApplication::find_by_local_user_id(pool, local_user_id).await?;
|
let registration = RegistrationApplication::find_by_local_user_id(pool, local_user_id).await?;
|
||||||
if let Some(deny_reason) = registration.deny_reason {
|
if registration.admin_id.is_some() {
|
||||||
let lang = utils::get_interface_language(local_user_view);
|
Err(LemmyErrorType::RegistrationDenied(registration.deny_reason))?
|
||||||
let registration_denied_message = format!("{}: {}", lang.registration_denied(), deny_reason);
|
|
||||||
Err(LemmyErrorType::RegistrationDenied(
|
|
||||||
registration_denied_message,
|
|
||||||
))?
|
|
||||||
} else {
|
} else {
|
||||||
Err(LemmyErrorType::RegistrationApplicationIsPending)?
|
Err(LemmyErrorType::RegistrationApplicationIsPending)?
|
||||||
}
|
}
|
||||||
|
@ -196,7 +196,7 @@ pub enum LemmyErrorType {
|
|||||||
EmailSendFailed,
|
EmailSendFailed,
|
||||||
Slurs,
|
Slurs,
|
||||||
CouldntFindObject,
|
CouldntFindObject,
|
||||||
RegistrationDenied(String),
|
RegistrationDenied(Option<String>),
|
||||||
FederationDisabled,
|
FederationDisabled,
|
||||||
DomainBlocked(String),
|
DomainBlocked(String),
|
||||||
DomainNotInAllowList(String),
|
DomainNotInAllowList(String),
|
||||||
@ -276,12 +276,12 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn deserializes_with_message() {
|
fn deserializes_with_message() {
|
||||||
let reg_denied = LemmyErrorType::RegistrationDenied(String::from("reason"));
|
let reg_banned = LemmyErrorType::PersonIsBannedFromSite(String::from("reason"));
|
||||||
let err = LemmyError::from(reg_denied).error_response();
|
let err = LemmyError::from(reg_banned).error_response();
|
||||||
let json = String::from_utf8(err.into_body().try_into_bytes().unwrap().to_vec()).unwrap();
|
let json = String::from_utf8(err.into_body().try_into_bytes().unwrap().to_vec()).unwrap();
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
&json,
|
&json,
|
||||||
"{\"error\":\"registration_denied\",\"message\":\"reason\"}"
|
"{\"error\":\"person_is_banned_from_site\",\"message\":\"reason\"}"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user