Flag users as "Always premoderate" (#2145)

* Flag users as "Always premoderate"

Status can be set using the action dropdown in the People tab and in User Details.
Users flagged as "Always premoderate" will have their comments sent to the premod queue.
Users can be filtered with the Always Premoderate status.
Include Always Premoderate status changes in User History.
Add spanish translations.

* Reorder CSS as per cvle's suggestion

* Address second comment
This commit is contained in:
Gerardo Gálvez
2019-02-13 20:08:22 +01:00
committed by Kiwi
parent 19b425dc1a
commit 8163b52301
38 changed files with 714 additions and 7 deletions
+42
View File
@@ -142,6 +142,10 @@ input UserStatusInput {
# suspended will restrict the returned users to only those that are, or are not
# suspended. If not provided, no filtering will be performed.
suspended: Boolean
# alwaysPremod will restrict the returned users to only those that are, or are not
# marked as always premoderate. If not provided, no filtering will be performed.
alwaysPremod: Boolean
}
type UsernameStatusHistory {
@@ -166,6 +170,17 @@ type BannedStatus {
history: [BannedStatusHistory!]
}
type AlwaysPremodStatusHistory {
status: Boolean!
assigned_by: User
created_at: Date!
}
type AlwaysPremodStatus {
status: Boolean!
history: [AlwaysPremodStatusHistory!]
}
type SuspensionStatusHistory {
until: Date
assigned_by: User
@@ -184,6 +199,9 @@ type UserStatus {
# banned is the bool that determines if the user is banned or not.
banned: BannedStatus!
# alwaysPremod is the bool that determines if the user comments are always pushed to the premod queue or not
alwaysPremod: AlwaysPremodStatus!
# suspension is the date that the user is suspended until.
suspension: SuspensionStatus!
}
@@ -1446,6 +1464,22 @@ type UnbanUserResponse implements Response {
errors: [UserError!]
}
input AlwaysPremodUserInput {
id: ID!
}
input RemoveAlwaysPremodUserInput {
id: ID!
}
type AlwaysPremodUserResponse implements Response {
errors: [UserError!]
}
type RemoveAlwaysPremodUserResponse implements Response {
errors: [UserError!]
}
input SuspendUserInput {
id: ID!
message: String!
@@ -1545,6 +1579,14 @@ type RootMutation {
# Mutation is restricted.
unsuspendUser(input: UnsuspendUserInput!): UnsuspendUserResponse
# Sets the always premod status on a given user. Requires the `MODERATOR` role.
# Mutation is restricted.
alwaysPremodUser(input: AlwaysPremodUserInput!): AlwaysPremodUserResponse
# Sets the always premod status on a given user. Requires the `MODERATOR` role.
# Mutation is restricted.
removeAlwaysPremodUser(input: RemoveAlwaysPremodUserInput!): RemoveAlwaysPremodUserResponse
# Sets the ban status on a given user. Requires the `MODERATOR` role.
# Mutation is restricted.
banUser(input: BanUserInput!): BanUsersResponse