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

[5.3] Registering new user account: email address verification does not change admin view #45063

Open
crimle opened this issue Mar 4, 2025 · 23 comments

Comments

@crimle
Copy link

crimle commented Mar 4, 2025

Steps to reproduce the issue

  • Go to Back-End > Users > Mange > Options
  • Make sure that «New User Account Activation» is set to «Administrator»
  • Go to Front-End > module «Login Form» > click «Create an account»
  • Fill in the form «User Registration» then click [Register]
  • Open your email inbox and the email with the subject «Account Details for Your Name at Your Website»
  • Click the verification link
  • Go to Back-End > Users > Mange

Expected result

  • The recently registered user's flag «Activated» should be active in order to indicate to the administrator, that the account has been successfully verified.

Actual result

  • The recently registered user's flag «Activated» is still inactive, leaving the administrator uncertain whether the verification process has been successful or not.

System information (as much as possible)

Joomla 5.3.0-beta1
PHP Version 8.3.16

Additional comments

From my point of view, some terms here are used inaccurately and could be misleading. I suggest the following:
Activated: replace by Verified
Activate: replace by Verify
Block: replace by Disable
Unblock: replace by Enable
You can't block yourself: replace by You can't disable yourself
Filter Options:
Select Active State: replace by Select Verification State
Activated: replace by Verified
Unactivated: replace by Unverified

Image

@brianteeman
Copy link
Contributor

regarding changing activated to verified
that only makes sense if you have a verification step in the user registration.

@crimle
Copy link
Author

crimle commented Mar 4, 2025

«regarding changing activated to verified, that only makes sense if you have a verification step in the user registration.»
If we are utterly exact, you are right. But on the other hand, «activation» only makes sense if you have an activation step in the user registration. Depending on the setting «New User Account Activation» either activated or verified is more precise.

In case «New User Account Activation» is set to «Administrator», verified seems to be preferable.
In case «New User Account Activation» is set to «User», verified is not wrong, since the user self activation process consists of two steps:
1 verification of the email address
2 activating the account by changing the state to «enabled»

@Amitesh007z
Copy link

hi im interested in working in this issue, can i start resolving this?

@Amitesh007z
Copy link

@brianteeman @crimle , I’ve been analyzing this issue and want to confirm my understanding before proceeding further ,

The Block state (in DB ) determines whether a user can log in (0 = can login, 1 = cant ).
The Activated status currently appears as a tick (✓) regardless of whether the user has completed email verification.
The issue seems to be that Joomla marks users as "Activated" without checking if they’ve verified their email.

@Amitesh007z
Copy link

hi , just want to clarify one more thing , like would it better to show activated with green tick once email is verifed by user , no matter if admin approves respective user or not ? Would be happy to know opinions please

@crimle
Copy link
Author

crimle commented Mar 6, 2025

hi , just want to clarify one more thing , like would it better to show activated with green tick once email is verifed by user , no matter if admin approves respective user or not ? Would be happy to know opinions please

This is exactly my opinion how it should be done. And that's why I am suggesting to rename some terms:
Activated: replace by Verified
Activate: replace by Verify
Block: replace by Disable
Unblock: replace by Enable
You can't block yourself: replace by You can't disable yourself
Filter Options:
Select Active State: replace by Select Verification State
Activated: replace by Verified
Unactivated: replace by Unverified

@Amitesh007z
Copy link

@crimle , Yes sir , that makes sense. Currently, the green tick appears after email verification only when the New User Account Activation option is set to Self. However, if it's set to Admin, the activation status remains pending until the administrator approves the user.

Displaying the green tick immediately after self email verification (without tying it to admin approval) would indeed be a more intuitive approach. Since the Block status already reflects whether an admin has approved or restricted the user, this change would help differentiate between email verification and administrative approval more clearly.

@crimle , would it be better to add this refinement to the existing issue? Since it’s closely related to activation behavior, I can work on it.. Looking forward to your thoughts sir!

@crimle
Copy link
Author

crimle commented Mar 9, 2025

@Amitesh007z I completely agree with you as far as the «email verification» green tick is concerned. I would be happy to see this refinement at any time. I do not know how much work this will be causing. What do you think of my suggestions regarding renaming some labellings?

Activated: replace by Verified
Activate: replace by Verify
Block: replace by Disable
Unblock: replace by Enable
You can't block yourself: replace by You can't disable yourself
Filter Options:
Select Active State: replace by Select Verification State
Activated: replace by Verified
Unactivated: replace by Unverified

From my point of language understanding «block» is pretty harsh, implying that the user has violated any guidelines or rules. «Enabled» oder «Disabled» is more neutral and describes exactly what is going on, without implying anything.

Thank you very much for your commitment.

@Amitesh007z
Copy link

@crimle

Hi sir ,

Thank you so much for your feedback and insights!

I completely agree with implementing the email verification refinement so that the green tick appears once the user verifies their email, independent of admin approval. This would make the process clearer and align well with how verification should work. I’d be happy to work on this change!

Regarding your label renaming suggestions, I also think that using "Enable/Disable" instead of "Block/Unblock" provides a more neutral and user-friendly experience. Your suggestions make a lot of sense, and I'd be glad to implement them.

To keep things structured, I propose working on these improvements too :

Email verification refinement (showing the green tick after self-verification).
Label renaming improvements (making the terms clearer).

Would you like me to go ahead and create a new issue for this? Let me know your thoughts, and I’d be happy to proceed accordingly. Thanks again for your guidance sir!

@crimle
Copy link
Author

crimle commented Mar 9, 2025

Yes, please go ahead. We seem to have an absolutely identical opinion. I will be happy to be one of the first testing persons.

@Amitesh007z
Copy link

Yeah sure sir , Will get the issue sorted soon and let you know ,
Thanks sir

@MacJoom
Copy link
Contributor

MacJoom commented Mar 10, 2025

Hi @Amitesh007z thank you for your contributions. Next thing would be a Pull Request or two. May be you want to split it up in 2 PR's one for language changes (in the backend and the sent emails) and another one logic changes. It is important you understand the whole registration process and the options in the registration process.

@Amitesh007z
Copy link

Hi @MacJoom , thank you for your guidance. I will create two separate PRs—one for the language changes (in the backend and emails) and another for the logic updates to address the issue effectively. While going through the codebase, I also gained a clearer understanding of the complete registration process. I'll proceed accordingly.

@Amitesh007z Amitesh007z mentioned this issue Mar 11, 2025
4 tasks
@Amitesh007z
Copy link

@crimle @MacJoom, I have a few clarifications regarding the activation process sir.

Would you like the activation to be entirely self-managed, where the user's verification via email directly results in a green tick in the admin panel? Currently, we have a setting that allows activation to be either self or admin-controlled.Admin controlled goes through admin approval . Could you confirm which approach we should follow, go completely without admin approval in any case?

I understand that we intend to make email verification independent of admin approval since the block field remains under the admin's control. Please let me know your thoughts on this sir .

@brianteeman
Copy link
Contributor

do NOT change the activation process!!! That will not be accepted

@Amitesh007z
Copy link

Amitesh007z commented Mar 12, 2025

Hey @brianteeman , following up on my previous discussions with @MacJoom and @crimle. They had asked me on enabling activation when user verifies mail. How should I proceed from here? Would appreciate your guidance

@brianteeman
Copy link
Contributor

@MacJoom said nothing at all about that

@Amitesh007z
Copy link

My apologies for any confusion. I was following advice from @crimle, but I may have misunderstood the revised issue in discussion . I'd appreciate to knowh on which way to proceed further for this issue ? or to follow same which was asked to sort at start of issue

@MacJoom
Copy link
Contributor

MacJoom commented Mar 12, 2025

We don't want the registration process to be changed in any way. The thing that appears not consistent to me is that when the administrator clicks on the link in his mail to approve a user that has confirmed his mail he ends up in the backend and has both Enabled and Activated with the green hook. If the administrator goes manually in the backend, the Activated (e.g. Verified) hook is not there. And when the administrator clicks on the 'Unblock' link, Activated will not be set. That means inconsistent with the Link behavior.

@Amitesh007z
Copy link

oh well , I get the issue now—it’s different from what I was focusing on before. When an admin approves via the email link, both "Enabled" and "Activated" turn green, but if they manually unblock the user in the backend, only "Enabled" updates while "Activated" stays unchanged.The behavior should be consistent in both cases.

@brianteeman
Copy link
Contributor

before you can even look at "fixing" anything you need to understand what each user registration option does (i dont know) and only then are you in a position to change/fix/improve anything. Simply going in and removing core functionality is not a fix

remember any change that you will make is not just on a single web site. that change will be made on millions of web sites

@brianteeman
Copy link
Contributor

I would start by documenting (perhaps in a table) the state of the two fields at each stage of the registration and approval process for ALL the possible registration and approval methods

@Amitesh007z
Copy link

Amitesh007z commented Mar 12, 2025

I apologize for the confusion @MacJoom @brianteeman . You're right that any modifications impact millions of websites, and I commit to a more careful, informed approach before proposing changes.yeah initally i made set of fields like table to check state of two field in all three conditions too, , got complete grasp and expected end result on isuue, will sort it soon sir

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

No branches or pull requests

5 participants