diff --git a/crates/app/src/public/html/communities/settings.html b/crates/app/src/public/html/communities/settings.html index f2eb015..7a4a537 100644 --- a/crates/app/src/public/html/communities/settings.html +++ b/crates/app/src/public/html/communities/settings.html @@ -348,6 +348,7 @@ REQUESTED: 1 << 6, MANAGE_PINS: 1 << 7, MANAGE_COMMUNITY: 1 << 8, + MANAGE_QUESTIONS: 1 << 9, }, ], ); diff --git a/crates/app/src/public/html/mod/profile.html b/crates/app/src/public/html/mod/profile.html index d848394..4199611 100644 --- a/crates/app/src/public/html/mod/profile.html +++ b/crates/app/src/public/html/mod/profile.html @@ -230,6 +230,8 @@ BANNED: 1 << 17, INFINITE_COMMUNITIES: 1 << 18, SUPPORTER: 1 << 19, + MANAGE_REQUESTS: 1 << 20, + MANAGE_QUESTIONS: 1 << 21, }, ], ); diff --git a/crates/core/src/database/common.rs b/crates/core/src/database/common.rs index 182af60..15bbaad 100644 --- a/crates/core/src/database/common.rs +++ b/crates/core/src/database/common.rs @@ -270,7 +270,7 @@ macro_rules! auto_method { if !user.permissions.check(FinePermission::$permission) { return Err(Error::NotAllowed); } else { - self.create_audit_log_entry(crate::model::moderation::AuditLogEntry::new( + self.create_audit_log_entry($crate::model::moderation::AuditLogEntry::new( user.id, format!("invoked `{}` with x value `{x}`", stringify!($name)), )) @@ -303,7 +303,7 @@ macro_rules! auto_method { if !user.permissions.check(FinePermission::$permission) { return Err(Error::NotAllowed); } else { - self.create_audit_log_entry(crate::model::moderation::AuditLogEntry::new( + self.create_audit_log_entry($crate::model::moderation::AuditLogEntry::new( user.id, format!("invoked `{}` with x value `{id}`", stringify!($name), id), )) diff --git a/crates/core/src/database/posts.rs b/crates/core/src/database/posts.rs index b535d2e..aacc5c3 100644 --- a/crates/core/src/database/posts.rs +++ b/crates/core/src/database/posts.rs @@ -652,6 +652,11 @@ impl DataManager { if let Some(ref rt) = reposting { data.context.reposts_enabled = false; // cannot repost reposts + // mirror nsfw status + if rt.context.is_nsfw { + data.context.is_nsfw = true; + } + // make sure we aren't trying to repost a repost if if let Some(ref repost) = rt.context.repost { repost.reposting.is_some() diff --git a/crates/core/src/database/questions.rs b/crates/core/src/database/questions.rs index 377bf36..8a2b12f 100644 --- a/crates/core/src/database/questions.rs +++ b/crates/core/src/database/questions.rs @@ -247,7 +247,7 @@ impl DataManager { { // requests are also deleted when a post is created answering the given question // (unless the question is global) - self.delete_request(y.owner, y.id, &user).await?; + self.delete_request(y.owner, y.id, user).await?; } // return