mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-11-08 09:24:17 +00:00
Dont allow admins to post in community with posting_restricted_to_mods
(fixes #3571)
This commit is contained in:
parent
255e695633
commit
4ffb3e007c
|
@ -16,7 +16,7 @@ use lemmy_api_common::{
|
|||
proxy_image_link_opt_apub,
|
||||
EndpointType,
|
||||
},
|
||||
};
|
||||
};use lemmy_db_views_actor::structs::CommunityModeratorView;
|
||||
use lemmy_db_schema::{
|
||||
impls::actor_language::default_post_language,
|
||||
source::{
|
||||
|
@ -29,7 +29,6 @@ use lemmy_db_schema::{
|
|||
CommunityVisibility,
|
||||
};
|
||||
use lemmy_db_views::structs::LocalUserView;
|
||||
use lemmy_db_views_actor::structs::CommunityView;
|
||||
use lemmy_utils::{
|
||||
error::{LemmyError, LemmyErrorExt, LemmyErrorType},
|
||||
spawn_try_task,
|
||||
|
@ -83,10 +82,10 @@ pub async fn create_post(
|
|||
let community = Community::read(&mut context.pool(), community_id).await?;
|
||||
if community.posting_restricted_to_mods {
|
||||
let community_id = data.community_id;
|
||||
let is_mod = CommunityView::is_mod_or_admin(
|
||||
let is_mod = CommunityModeratorView::is_community_moderator(
|
||||
&mut context.pool(),
|
||||
local_user_view.local_user.person_id,
|
||||
community_id,
|
||||
local_user_view.local_user.person_id,
|
||||
)
|
||||
.await?;
|
||||
if !is_mod {
|
||||
|
|
|
@ -26,7 +26,6 @@ use lemmy_api_common::{
|
|||
context::LemmyContext,
|
||||
request::fetch_link_metadata_opt,
|
||||
utils::{
|
||||
is_mod_or_admin,
|
||||
local_site_opt_to_sensitive,
|
||||
local_site_opt_to_slur_regex,
|
||||
process_markdown_opt,
|
||||
|
@ -50,6 +49,7 @@ use lemmy_utils::{
|
|||
use std::ops::Deref;
|
||||
use stringreader::StringReader;
|
||||
use url::Url;
|
||||
use lemmy_db_views_actor::structs::CommunityModeratorView;
|
||||
|
||||
const MAX_TITLE_LENGTH: usize = 200;
|
||||
|
||||
|
@ -179,7 +179,7 @@ impl Object for ApubPost {
|
|||
let creator = page.creator()?.dereference(context).await?;
|
||||
let community = page.community(context).await?;
|
||||
if community.posting_restricted_to_mods {
|
||||
is_mod_or_admin(&mut context.pool(), &creator, community.id).await?;
|
||||
CommunityModeratorView::is_community_moderator(&mut context.pool(), community.id, creator.id).await?;
|
||||
}
|
||||
let mut name = page
|
||||
.name
|
||||
|
|
Loading…
Reference in a new issue