add: user settings following page
add: comments to be seen by owner of the post they're on (even if the owner is private)
This commit is contained in:
parent
fa1a609bf5
commit
b8b0ef7f21
4 changed files with 154 additions and 7 deletions
|
@ -666,8 +666,6 @@ pub async fn post_request(
|
|||
Err(e) => return Err(Html(render_error(e, &jar, &data, &user).await)),
|
||||
};
|
||||
|
||||
check_user_blocked_or_private!(user, owner, data, jar);
|
||||
|
||||
if owner.permissions.check_banned() {
|
||||
if let Some(ref ua) = user {
|
||||
if !ua.permissions.check(FinePermission::MANAGE_POSTS) {
|
||||
|
@ -682,6 +680,27 @@ pub async fn post_request(
|
|||
}
|
||||
}
|
||||
|
||||
// check if the user has a private account OR if we're blocked...
|
||||
// don't do this check if we're the owner of the post this post is replying to
|
||||
if let Some(ref ua) = user {
|
||||
if let Some(replying) = post.replying_to {
|
||||
if replying != 0 {
|
||||
let replying_to = match data.0.get_post_by_id(replying).await {
|
||||
Ok(r) => r,
|
||||
Err(e) => return Err(Html(render_error(e, &jar, &data, &user).await)),
|
||||
};
|
||||
|
||||
if replying_to.owner != ua.id {
|
||||
check_user_blocked_or_private!(user, owner, data, jar);
|
||||
}
|
||||
} else {
|
||||
check_user_blocked_or_private!(user, owner, data, jar);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
check_user_blocked_or_private!(user, owner, data, jar);
|
||||
}
|
||||
|
||||
// check repost
|
||||
let reposting = data.0.get_post_reposting(&post, &ignore_users, &user).await;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue