# Version 9.1.149 (17 March 2025)

#### **Translation**

##### The last language the user was logged in as is used even though the user has selected another language (#126729)

**Problem**

- When on the log-in page and the user change their language and log in. It does not update the preferred language.
- This issue only happens on the deployed versions.

**Solution**

- Implemented a possible fix for the deployed versions to make use of the correct context.

##### Search results show the accordion which results fall under (collapsed) (#126575)

**Problem**

- When searching for a translation, although the section tables are filtered correctly, the section accordions stay collapsed; this makes it look like there is no match found if the section is collapsed.

**Solution**

- When searching, always expand the section accordions where a match was found and reset accordingly on search clear

---

#### **Performance Management**

##### I want to import PM Agreements into V9 (#124514)

<div id="bkmrk-replace-the-three-im">Replace the three imports with one full performance agreement import that can handle both creating new contracts as well as updating existing contracts. To achieve this, the following has been done:</div>- Combine the Goals, Behaviour and Competency imports into one Full Performance Agreement Import that can handle all sections at once
- Modify the current functionality to not only create but also update existing contracts
- If the Import defines a section that is not configured on the review setup, those items will be exceptioned
- Section Items will be matched by name to allow importing additional items on a contract
- Implement the new requirement to import ratings
- The import should adhere to all rules that are applied when a contract is created/updated from the Front End (Dual Approve, Final ratings only, etc)
- Add checkbox to the import selection to "Approve contracts where completed"
- When the above parameter is set, the import should try to approve the Objective Settings, and it should try approve ratings if all ratings are provided. All current Objectives and Ratings Approval rules should be followed.
- Test multiple scenarios with new and existing contracts separately and on the same sheet; test with adding new items only to a contract; test Objectives and ratings approvals

##### Hide Evaluation Summary Button on Ratings Phase (#126277)

**Problem**

- The evaluation summary button shows in the ratings phase for the employee even if the hide evaluation summary setting is on.

**Solution**

- Added setting test on missed Show Evaluation Summary button

##### Evaluation Summary Button and Modal Available on Employee Self-Rating Modal (#126278)

**Problem**

- Evaluation summary button shows in the ratings model for the employee even if the hide evaluation summary setting is on.

**Solution**

- Added setting test on missed Show Evaluation Summary button

##### Cannot save a Review Setup once validation has been triggered (#126065)

**Problem**

- The submit button gets disabled when clicked, therefore it cannot be submitted again if the form is invalid.

**Solution**

- The disable is unnecessary because the loader is shown.

##### Review Period Dates &amp; Review Year Dates - Validation Messages Include Time Erroneously (#125347)

**Problem**

- On the review year setup and review period setup pages, when the End Date is selected as a Date that falls before the Start Date, validation correctly occurs; however, when the message displaying the error is displayed, it includes the time (00:00:00), which should be removed.
- The date is also in the format YYYY-MM-DD; could this be adjusted to reflect the correct Date Format in accordance with the Language Selected

**Solution**

- Changed the dates of the translations to short date string, with the correct timezone and culture

---

#### **People Management**

##### Business Address information contains grammar errors (#127652)

**Problem**

- Business Address Information contains grammar errors

**Solution**

- Using the `signify translation tool` to correct the grammar issue and update translations.

##### Error when user tries to reset their own password (#126175)

**Problem**

- When the user tries to reset their own password, the attempt fails because the call is checking whether the user has the People Admin role.
- This should not be done when the user is resetting their own password.

**Solution**

- Changed the ResetPassword call to check whether the user has the People Admin role or if the user whose password is being reset and then allow the action. Also changed the message displayed for when the user resets their own password from "A notification has been sent to the Person to reset their password" to "A notification has been sent to you to reset your password."

##### As a person with access to Appointment History, I want to see the Start Date in Group and Company fields (#122770)

**Problem**

- Cannot update the Start Dates

**Solution**

- Added 2 fields that can be updated 
    - Start Date in Group
    - Start Date in Company

##### As a person with access to Appointment History, I want to be able to add a Secondary Position (#122771)

**Problem**

- A secondary position cannot be added

**Solution**

- Add another section to add the secondary positions

##### Added the Start Date in Group and Company fields to the Employee Data Import (#126716)

**Problem**

- The start date in the group is not on the people data import

**Solution**

- Add the fields to the people data import

---

#### **Master Data**

##### Seeded data not appearing in drop downs on Employee Profile (#126916)

**Problem**

- Location, country and province master data did not display on the "Address" section due to conflicting component names which also appear on the "Summary" section.

**Solution**

- Give unique names to the component elements, ensuring that the master data correctly displays on both the "Address" and "Summary" sections

##### Navigating to the requirements tab displays an error (#127019)

<div id="bkmrk-problem-12">**Problem**</div><div id="bkmrk-barched-queries-fail">- Barched queries failed due to too many of the same foreign keys

</div><div id="bkmrk-%C2%A0-24"> </div><div id="bkmrk--3"></div><div id="bkmrk-solution-12">**Solution**</div><div id="bkmrk-updated-query-to-use">- Updated query to use DapperExtension to reduce the amount of parameters and remove batch query functionality

</div><div id="bkmrk--4"></div><div id="bkmrk--5"></div>
##### The load indicator is shown indefinitely when clicking on a person's profile (#127605)

<div id="bkmrk-problem-dapperinbatc"><div>**Problem**  
</div><div>- DapperInBatched used incorrectly in translation query, causing an invalid SQL query to be generated.

</div><div>  
**Solution**  
</div><div>- Ensure that DapperInBatched is used correctly for the query.

</div></div><div id="bkmrk--6"></div>---

#### **Data Warehouse**

##### Grades Mismatched in Signify &amp; SFTP (#126629)

**Problem**

- Data did not return on ReportBuilder due to PeopleGroups not being refreshed (Performance issues)

**Solution**

- Adjusted **PeopleGroupUsers** task in DWH so that the table is truncated only between 12 and 1 in the morning and not as well in the afternoons

##### Date field is not recognised as a date in the report filter (#125626)

**Problem**

- ApproverDate fields within jpHRProcesses are set as NVARCHAR DataType and not DATETIME2

**Solution**

- Set datatype for ApproverDate fields from NVARCHAR to DATETIME2

---

#### **Job Profiler**

##### ListUsersExport not returning all or correct information (#126458)

**Problem**

- The API call returns the OfoCode ID instead of the Name.

**Solution**

- Corrected the Select statement to return the OfoCode Name.

#####  Inactive Positions (Not Published) are not accounted for correctly by the system. (#126723)

<div id="bkmrk-problem-16">**Problem**  
</div><div id="bkmrk-inactive-positions-a">- Inactive Positions are not being accounted for correctly by the system.

</div><div id="bkmrk--10"></div><div id="bkmrk-solution-16">**Solution**  
</div><div id="bkmrk-ensure-that-inactive">- Ensure that inactive positions are counted correctly.

</div><div id="bkmrk--11"></div>---

#### **Learning Management**

##### No error detail if absent notification cannot be sent to Parent/Guardian (#123832)

**Problem**

- Add a username column to the exported report to help identify which user needs their contact details updated.

**Solution**

- Added the `Username` field to the `NextOfKinInfo` record in `UserViewModel.cs`.
- Updated the `NextOfKinInfo` record in `UsersServiceV1.cs` to include the `Username` field.
- Modified the `RecipientConfirmationExportInfo` message in `learning_management.v1.proto` to include `recipient_username` and reordered the fields.
- Added the `Username` field to the `NextOfKinInfo` message in `user_management.v1.proto`.
- Updated the `AbsenteeNotificationsRecord` and `AbsenteeNotificationExportInfoRecord` records in `NotificationViewModel.cs` to include the `LearnerUsername` and `RecipientUsername` fields respectively.
- Modified the `LearningManagementServiceV1` class to include the `Username` field in various LINQ queries and response objects.
- Updated the `AttendanceNotificationExportViewModel` class to include the `Username` field in the `NotificationEmailExportDTO`.
- Added the `Username` field to the `NotificationEmailExportDTO` record in `AttendanceNotificationDTO.cs`.
- Modified the `LearningManagementExportService` class to include the `Username` field in the data export process.
- Updated the `learningManagement.json` localization file to include the `recipientUsername` key and its translations in multiple languages.
- Ensured consistency in the `learningManagement.json` file by adding the `recipientUsername` key and its translations across different locales.
- Added the `Username` field to various classes and methods to ensure that the username is included in the data processing and export functionalities.

---

#### **Report Builder**

##### Error when saving without specifying a Report Name (#126792)

**Problem**

- When trying to save a report without having specified a name for the report, an unspecified error occurs.

**Solution**

- There is now a validation message when leaving the **Report Name empty** and clicking on **Save**

---

#### **Notifications**

##### Delete button remains disabled; therefore, unable to delete a schedule (#126839)

**Problem**

- The Delete button remains disabled, and therefore, a Schedule cannot be deleted

**Solution**

- Enable the delete button when text is added to the Reason field, and I have accepted the acknowledgement

##### Schedule Setup: User can set a one-off custom schedule to time already passed (#96569)

**Problem**

- The user is still able to type in a time that has already passed.

**Solution**

- Added validation to test if the time is valid; if not, it will be set to the min time

##### Changes to templates not saved on the first click (#116472)

**Problem**

- Snack message not properly displayed when saving template.

**Solution**

- Ensure the snack is properly displayed when saving the template

---

#### **Imports**

##### User Import Validation Report (#124039)

<div id="bkmrk-problem-23">**Problem**</div><div id="bkmrk-%C2%A0-43"> </div><div id="bkmrk-after-a-user-import-">- After a user import has been completed, there is no simple way for an imported user to validate that all data is the same as expected.

</div><div id="bkmrk-%C2%A0-44"> </div><div id="bkmrk-solution-23">**Solution**</div><div id="bkmrk-%C2%A0-45"> </div>- Add a report to be generated for each user import from that compares the data requested for import with the data currently in the system.
- On the Notification | Imports page for the user import add an additional action User validation Report
- When this button is clicked a report is generated for the list of users imported in the form of the import sheet
- The report is a comparison report exporting the field requested for import vs the current system value of the import e.g. 
    - Username, CurrentUsername, Name, CurrentName, Surname, CurrentSurname
- Add a new first column ValidationMessage. When any field is not insync between the import and the current value then it lists the column name that is incorrect e.g. 
    - Invalid Data: Name, Surname, StartDate
- RULE: only allow for comparison/validation if import ran in the last day

<div id="bkmrk--17"></div>---

#### **Organisational Structure**

##### Drag and Drop Positions incorrectly increments people count for Org Unit rather than vacancy count (#126413)

<div id="bkmrk--19"></div><div id="bkmrk-problem-24">**Problem**  
</div><div id="bkmrk-drag-and-drop-positi-1">- Drag and drop positions incorrectly increment people count for org unit rather than vacancy count.

</div><div id="bkmrk--20"></div><div id="bkmrk-solution-24">**Solution**  
</div><div id="bkmrk-ensure-that-the-peop">- Ensure that the people count increments correctly based on if it is a vacant position or not.

</div>---