Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a report user button #1220

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open

Conversation

MartinDelille
Copy link
Contributor

This is a work in progress. Feel free to comment the choice I made in the UI.

It aims to fix #353

@mattbk
Copy link
Contributor

mattbk commented Aug 20, 2018

Do you mean "report" a user?

Need to add documentation for users as well.

@LiamDawe
Copy link

The wording is "report" not signal as @mattbk mentioned, signal doesn't really make sense as people know what reporting is.

Also, spelling/grammar issues:

What happen when I signal a user

Should be "What happens when I report a user?"

The profil will be review by the moderator.

Should be "The profile will be reviewed by a moderator."


<h4>{{ _("What happen when I signal a user") }}</h4>
<p>{{ _(
"The profil will be review by the moderator. "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"The profile will be reviewed by a moderator."

@MartinDelille
Copy link
Contributor Author

I performed the requested change but the button still doesn't do anything for now.

Need to add documentation for users as well.

@mattbk What do you mean by that? I put a little FAQ below the report form.

@MartinDelille MartinDelille changed the title Add a signal user button Add a report user button Aug 21, 2018
@mattbk
Copy link
Contributor

mattbk commented Aug 21, 2018

I think a link to more detail is needed. Who are the moderators, what powers do they have, what's the process, etc.

@MartinDelille
Copy link
Contributor Author

@mattbk I updated the FAQ accordingly to the proposition made there: liberapay/liberapay.org#15 (comment)

@@ -96,6 +96,19 @@ full_title = _("Report {0}", participant.username)
"The profil will be reviewed by a moderator. "
) }}</p>

<h4>{{ _("Who are the moderators?") }}</h4>
<p>{{ _(
"There is ten moderators who have been elected by the ten most funded project on Liberapay. "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*platform's

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean?


<h4>{{ _("What is the moderating process?") }}</h4>
<p>{{ _(
"Once at least half of the moderators confirm that the user is suspicious,"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Account, not user, if you use "its" in the next line.

<h4>{{ _("What is the moderating process?") }}</h4>
<p>{{ _(
"Once at least half of the moderators confirm that the user is suspicious,"
"its account is closed and it can not received donation anymore. "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*receive

This comment was marked as spam.

<p>{{ _(
"Once at least half of the moderators confirm that the user is suspicious,"
"its account is closed and it can not received donation anymore. "
"All donations to the user are then cancelled."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or account, see above.


% block form
<p>{{ _(
"Please add a short description why you want to report this user:"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Please describe why..."


<h4>{{ _("What happens when I report a user?") }}</h4>
<p>{{ _(
"The profil will be reviewed by a moderator. "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*profile

@MartinDelille
Copy link
Contributor Author

How can I go further with this?

I would say we should add a kind of role attribute to a user to differenciate a regular user from a moderator.

Then a simple email or notification would be sent to the 10 moderators that would be triggered everytime a user click the report button.

@MartinDelille
Copy link
Contributor Author

@Changaco Any thought about this?

@mattbk
Copy link
Contributor

mattbk commented Sep 1, 2018

Away from computer right now, but admins in Gratipay before this was forked were distinguished by a column in the participant table called is_admin. Then testing whether a user was an admin was possible by querying the current user.

A similar system could be set up for mods if this is still true in Liberapay.

@mattbk
Copy link
Contributor

mattbk commented Sep 1, 2018

Then you would need a voting mechanism for reports and to record who voted what or a simple count.

Additional feature would be discussion of reports on top of voting.

But for a quicker release, quarantining a suspicious user could be done manually by an admin.

@MartinDelille
Copy link
Contributor Author

Your right: just notifying the admin would be a minimum.

I recently report a facebook page and they have a pretty way to handle it: When the moderator have examined the suspicious page, a report is sent to the user (but like you say, this would be additional features).

@Changaco
Copy link
Member

Changaco commented Sep 3, 2018

I replaced the is_admin column with a more generic privileges column 2 years ago in 63900b4. I have a local branch to add a new moderate privilege, but it's not ready yet.

@MartinDelille
Copy link
Contributor Author

@Changaco Awesome! I guess the unknown part I have to do when the button clicked is something like:

warning = "The following account has been reported:" + reportedAccount

foreach user in users where user.privileges & moderate != 0
    notifications.sent(user, warning)

Any code example I could go from to:

  • do the moderator user request
  • send the notification

@mattbk
Copy link
Contributor

mattbk commented Sep 4, 2018

Would anything from liberapay.com/tests/py/test_notifications.py help you out?

Should probably add a test there anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

No "report user" button
5 participants