Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
CRAP | |
0.00% |
0 / 34 |
| AdditionalModulesService | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
56.00 | |
0.00% |
0 / 34 |
| __construct | |
0.00% |
0 / 1 |
2.00 | |
0.00% |
0 / 2 |
|||
| createHostelStudentEntry | |
0.00% |
0 / 1 |
12.00 | |
0.00% |
0 / 15 |
|||
| addUserAccountRoles | |
0.00% |
0 / 1 |
12.00 | |
0.00% |
0 / 17 |
|||
| <?php | |
| namespace com\linways\core\ams\professional\service\additionalModules; | |
| use com\linways\base\util\MakeSingletonTrait; | |
| use com\linways\core\ams\professional\service\BaseService; | |
| use com\linways\core\ams\professional\exception\ProfessionalException; | |
| use com\linways\base\constant\UserType; | |
| class AdditionalModulesService extends BaseService | |
| { | |
| use MakeSingletonTrait; | |
| private function __construct() | |
| { | |
| } | |
| /** | |
| * Function to Create hostel applicant entry and assign `HOSTEL_APPLICANT` role. | |
| * | |
| * @param studentId StudentAccountId | |
| * @return hostelApplicantId It Return hostel Applicant Id Of the given student | |
| * @throws ProfessionalException | |
| * @author Akshay K P <akshay.kp@linways.com> | |
| */ | |
| public function createHostelStudentEntry($studentAccountId){ | |
| $studentAccountId = $this->realEscapeString($studentAccountId); | |
| try { | |
| $year = date("Y"); | |
| $sql_check = "SELECT id FROM hostel_v4_applicant hva WHERE student_account_id='$studentAccountId'"; | |
| $applicantId = $this->executeQueryForObject($sql_check)->id; | |
| if (!$applicantId) { | |
| $sql = "INSERT INTO hostel_v4_applicant (student_name, email, user_name, password, created_by, created_date,updated_by, updated_date, mobile, `year`, gender, student_account_id) SELECT s.studentName, s.studentEmail, s.studentAccount, md5(s.studentAccount), 1, now(), 1, now(), s.studentPhone, '$year', s.studentGender, s.studentID from studentaccount s where studentID = '$studentAccountId'"; | |
| $applicantId = $this->executeQuery($sql, true)->id; | |
| } | |
| // Assign given role to the students | |
| $this->addUserAccountRoles($applicantId, UserType::HOSTEL_APPLICANT, 'HOSTEL_APPLICANT'); | |
| return $applicantId; | |
| } catch (\Exception $e) { | |
| throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
| } | |
| } | |
| /** | |
| * The function `addUserAccountRoles` inserts a new user account role into the database based on | |
| * the provided user ID, user type, and role. | |
| * | |
| * @param userId The userId parameter is the ID of the user for whom you want to add account roles. | |
| * @param userType The `userType` parameter represents the type of user account being added. It | |
| * could be a string value such as "admin", "customer", or "employee". | |
| * @param role The Assigning role Code. | |
| * | |
| * @return userAccountRoleId | |
| * @throws ProfessionalException | |
| */ | |
| public function addUserAccountRoles($userId, $userType, $role) | |
| { | |
| $userId = (int)$this->realEscapeString($userId); | |
| $userType = $this->realEscapeString($userType); | |
| $role = $this->realEscapeString($role); | |
| $userAccountRoleId = NULL; | |
| try { | |
| // Check Role exists Or Not, if exist return user account role Id Else Create new entry and return the id | |
| $sql_check = "SELECT id FROM `user_account_roles` WHERE user_id = '$userId' AND user_type = '$userType' AND role_id = (SELECT id FROM roles WHERE code = '$role');"; | |
| $userAccountRoleId = $this->executeQueryForObject($sql_check)->id; | |
| if(empty($userAccountRoleId)) { | |
| $sql = "INSERT INTO `user_account_roles` (`user_id`, `user_type`, `role_id`, `created_by`, `created_date`, `updated_by`, `updated_date`) SELECT $userId,'$userType', id, 1, utc_timestamp(), 1, utc_timestamp() FROM roles WHERE code = '$role' AND is_active=1"; | |
| $userAccountRoleId = $this->executeQuery($sql, true)->id; | |
| } | |
| return $userAccountRoleId; | |
| } catch (\Exception $e) { | |
| throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
| } | |
| } | |
| } |