- Track the changes/history when creating the administrator account (Trac #48)

SVN:trunk[211]
This commit is contained in:
Denis Flaven
2009-12-29 13:38:02 +00:00
parent 9e47505447
commit 4d1d6bf6b0
2 changed files with 19 additions and 5 deletions

View File

@@ -173,7 +173,15 @@ class UserRightsMatrix extends UserRightsAddOnAPI
$oUser->Set('login', $sAdminUser);
$oUser->Set('password', $sAdminPwd);
$oUser->Set('userid', 1); // one is for root !
$iUserId = $oUser->DBInsertNoReload();
// Create a change to record the history of the User object
$oChange = MetaModel::NewObject("CMDBChange");
$oChange->Set("date", time());
$oChange->Set("userinfo", "Initialization");
$iChangeId = $oChange->DBInsert();
// Now record the admin user object
$iUserId = $oUser->DBInsertTrackedNoReload($oChange);
$this->SetupUser($iUserId, true);
return true;
}

View File

@@ -757,12 +757,18 @@ class UserRightsProfile extends UserRightsAddOnAPI
// Installation: create the very first user
public function CreateAdministrator($sAdminUser, $sAdminPwd)
{
// Create a change to record the history of the User object
$oChange = MetaModel::NewObject("CMDBChange");
$oChange->Set("date", time());
$oChange->Set("userinfo", "Initialization");
$iChangeId = $oChange->DBInsert();
$oOrg = new bizOrganization();
$oOrg->Set('name', 'My Company/Department');
$oOrg->Set('code', 'SOMECODE');
$oOrg->Set('status', 'implementation');
//$oOrg->Set('parent_id', xxx);
$iOrgId = $oOrg->DBInsertNoReload();
$iOrgId = $oOrg->DBInsertTrackedNoReload($oChange);
// Location : optional
//$oLocation = new bizLocation();
@@ -784,20 +790,20 @@ class UserRightsProfile extends UserRightsAddOnAPI
$oContact->Set('phone', '');
//$oContact->Set('location_id', $iLocationId);
$oContact->Set('employee_number', '');
$iContactId = $oContact->DBInsertNoReload();
$iContactId = $oContact->DBInsertTrackedNoReload($oChange);
$oUser = new URP_Users();
$oUser->Set('login', $sAdminUser);
$oUser->Set('password', $sAdminPwd);
$oUser->Set('userid', $iContactId);
$iUserId = $oUser->DBInsertNoReload();
$iUserId = $oUser->DBInsertTrackedNoReload($oChange);
// Add this user to the very specific 'admin' profile
$oUserProfile = new URP_UserProfile();
$oUserProfile->Set('userid', $iUserId);
$oUserProfile->Set('profileid', ADMIN_PROFILE_ID);
$oUserProfile->Set('reason', 'By definition, the administrator must have the administrator profile');
$oUserProfile->DBInsertNoReload();
$oUserProfile->DBInsertTrackedNoReload($oChange);
return true;
}