opencaching / opencaching-pl

The source code of Opencaching.PL (and some other domains)
https://opencaching.pl/
GNU General Public License v3.0
22 stars 33 forks source link

OCTeam view to remove user account (#2226) #2246

Closed kojoty closed 3 years ago

kojoty commented 3 years ago

OC Team has now an option to remove user account by click the button. Such account is then marekd as removed and all private data is removed from DB.

kojoty commented 3 years ago

@harrieklomp @andrixnet Please note this PR contain a new config entries.

kojoty commented 3 years ago

How it works:

it is possible now to remove user account from OCTeam user-search menu. There is a new button in top-right menu: "remove account". After confirmation:

kojoty commented 3 years ago

I'm going to develop the same possibility for every user to remove its own account (in future).

andrixnet commented 3 years ago

Questions: What happens to caches posted by that account that are in a state other then "archived" ?

andrixnet commented 3 years ago

@kojoty: To which are you referring to?

$news['showOnStartPageForNonLoggedUsers'] $user = [ 'defaultStatpicText' => 'Opencaching', ]; $config['removedUserUsernamePrefix'] = "Account_removed"; $config['removedUserDescription'] = "Account removed on user request."; $config['defaultStatpicText'] = 'Opencaching';

Shouldn't some of these values be strings from the translation subsystem? (and only manually set if very explicitely needed on that installation?)

For example, if viewing OCPL in english, one should see "Account removed on user request." instead of "Konto usunięte" (which should be displayed when viewing the site in polish).

Furthermore, as I understand so far, this PR contains UI for admins. Then the default value for this string is incorrect: $config['removedUserDescription'] = "Account removed on user request."; The accound was removed by an administrator. (for whatever reason, only one of which might be 'user request'). That particular string value will be valid in the future, when account removal controls will be implemented for the user and the user was the one to perform the removal.

kojoty commented 3 years ago

Questions: What happens to caches posted by that account that are in a state other then "archived" ?

I think that nothing.. All logs and caches stays as they are. If geocache will be unmaintained it will be automatically archived. Any concerns will be handled by OC-team on request.

I think it's the best way to handle user resign decision.

kojoty commented 3 years ago

@kojoty: To which are you referring to?

$news['showOnStartPageForNonLoggedUsers'] $user = [ 'defaultStatpicText' => 'Opencaching', ]; $config['removedUserUsernamePrefix'] = "Account_removed"; $config['removedUserDescription'] = "Account removed on user request."; $config['defaultStatpicText'] = 'Opencaching';

Shouldn't some of these values be strings from the translation subsystem? (and only manually set if very explicitely needed on that installation?)

For example, if viewing OCPL in english, one should see "Account removed on user request." instead of "Konto usunięte" (which should be displayed when viewing the site in polish).

I mean these two:

/**
 * Removed user account has anonimized username in format: <removedUserUsernamePrefix>_<date-of-removing>_<userId>
 */
$config['removedUserUsernamePrefix'] = "Account_removed";

/**
 * Text displayed in as description of removed user account - formatted date will be added at the end of the text
 */
$config['removedUserDescription'] = "Account removed on user request.";

The strings can be hardcoded in main site lang as:

I think I will add some modification on profile page to highlight that account is inactive or removed.

kojoty commented 3 years ago

Furthermore, as I understand so far, this PR contains UI for admins. Then the default value for this string is incorrect: $config['removedUserDescription'] = "Account removed on user request."; The accound was removed by an administrator. (for whatever reason, only one of which might be 'user request'). That particular string value will be valid in the future, when account removal controls will be implemented for the user and the user was the one to perform the removal.

I assume that OCTeam never remove any account without the user request. If something is account can be only locked - not removed, so if the account is remove it means that user asked for it.

Like I mentioned I'm going to implement option for "self-remove" account for users as well soon.

andrixnet commented 3 years ago

Will it be possible for an admin to reassign a non-archived cache of a removed user to another owner? (like an adoption after user was removed) ?

kojoty commented 3 years ago

Will it be possible for an admin to reassign a non-archived cache of a removed user to another owner? (like an adoption after user was removed) ?

hmm.. as far as I remember there is no such option now but it can be always done directly in DB. I think it can be dependent to OCTeam decision. We can always implement such feature but I think it's a next corner case. For OCPL I get usually less that 1 request for account remove per week and most of the users have only a few founds and they are not an owners of any geocache.