Page 1 of 1

Reset Password not working

Posted: Thu Mar 07, 2024 4:47 pm
by yinsw

PHPMaker v2024.9

When Reset Email, we will receive the email. Clicking on the email will open the Change Password page. After enter the new password and submit, the below error is shown:

log.ERROR: Slim Application Error Type: Exception Code: 0 Message: Entity class for UpdateTable not found. File: D:\mywebsite\myproject\models\ChangePassword.php Line: 334

Re: Reset Password not working

Posted: Thu Mar 07, 2024 5:13 pm
by arbei

Are you using a view as the user table? Also see viewtopic.php?t=58158.


Re: Reset Password not working

Posted: Fri Mar 08, 2024 11:40 am
by yinsw

Yes, correct. All my modules are using Views including the Users.

Based on your reference, is it that I need to add the following in Change Password Page -> Page_Load event?

function Page_Load()
{
    //Log("Page Load");
    $table_name="VIEW_USERS";
    $this->UpdateTable = $table_name;
}

Re: Reset Password not working

Posted: Fri Mar 08, 2024 9:05 pm
by arbei

The UpdateTable should be the actual users table with the password field, not the view that is used as "users table" in the project.


Re: Reset Password not working

Posted: Sat Mar 09, 2024 11:08 pm
by yinsw

I have tested and nope, it didn't work if I set it to my actual table name since I didn't use it in my project and I also didn't check it in my project.

Actual table name: sys_tbl_users
My view: sys_users (all the fields in this view is exactly the same as the actual table)

In my project, I only checked on the sys_users checkbox and configured my Security using sys_users. For this to work, I need to add the following in the Change Password Page->Page Load and Password Recovery Page -> Page Load. I'm don't understand why I need to set it since it's the same as the view I'm using?

function Page_Load()
{
    //Log("Page Load");
    $table_name="sys_users";
    $this->UpdateTable = $table_name;
}

Re: Reset Password not working

Posted: Sun Mar 10, 2024 10:12 am
by arbei

arbei wrote:

The UpdateTable should be the actual users table

But yinsw wrote:

Actual table name: sys_tbl_users
$table_name="sys_users";
$this->UpdateTable = $table_name;