# Version 9.1.134 (2 December 2024)

### Performance Management

#### The Modify objectives button is disabled when the phase is active (#123736)

**Problem**

- Cannot modify objective settings when approved and the rating phase is not active.

**Solution**

- Change the rule when the modify settings button is disabled

#### Objective Settings Queries (#123654)

**Problem**

- When the manager approves the objective settings and the user has not yet in dual approval then the status of the user displays incorrectly on the manager check-in dashboard for the user

**Solution**

- Add 2 new rating statuses based on the approval state of the objective settings

#### Employee profile locked (#120818)

**Problem**

- Employees cannot access the contract because it is locked.

**Solution**

- Added confirmation modal to request if the user is still busy on the page. If the user clicks 'Continue', the lock is refreshed, otherwise, after a minute the lock opens and reverts the user back to the PM dashboard.

#### Rating scale (#123348)

**Problem**

- When rating an evaluation excluded rating scales are not available to rate with

**Solution**

- Remove the filter on exclusion and correct the score that is now nullable
- This displays the extra scales

#### Performance Agreement - System Issues (#123305)

**Problem**

- The Date field is displayed as incorrect

**Solution**

- On blur add the active class to display the label on top and empty the value when not completed  
    Remove the word axios.ts from the generic error

---

### People Management | System Module Roles

#### A person without Organisational Structure Permissions can access the Org (#121709)

**Problem**

- Even though the user has no access to Organisation Structure rights, they can access the Org Structure.
- This is because the user has Job Profiler Admin rights.

**Solution**

- Remove the Job Profiler Admin rights from accessing the Org Structure

---

### HR Processes

####  Changing the Fallback selection on the workflow setup removes the settings on the Workflow Fallback Configuration (#123738)

**Problem**

- Changing the Fallback selection on the workflow setup removes the settings on the Workflow Fallback Configuration.

**Solution**

- Ensure that the settings on the Workflow Fallback Configuration does not get cleared when changing the Fallback selection.

---

### Imports

#### DISABILITY STATUS (#123550)

**Problem**

- When disabilities like none, not disabled, no, no disability are imported in the user import the expectation is that the user will not be made disabled in the system even though a disability is provided for the user.

**Solution**

- Add a bool field to exclude certain disabilities from being imported where the client determines what disability term indicates not disabled
- Add translation error handling in MVC

---

### Data Warehouse

#### Claim Report for Sage Import (#122871)

<div id="bkmrk--4"></div><div id="bkmrk-problem-8">**Problem**</div><div id="bkmrk-datasource-jphrproce">- Datasource jpHRProcessRequestData needs to be added that contains the JSON response entries

</div><div id="bkmrk--5"></div><div id="bkmrk-solution-8">**Solution**</div><div id="bkmrk-added-data-source-jp">- Added data source jpHRProcessRequestData within the V9 Data warehouse

</div><div id="bkmrk--6"></div><div id="bkmrk--7"></div>#### Performance status report (#123397)

<div id="bkmrk-problem-9">**Problem**</div><div id="bkmrk-no-results-returned-">- No results returned when running the report:

</div><div id="bkmrk--8"></div><div id="bkmrk-solution-9">**Solution**</div><div id="bkmrk-this-was-due-to-an-i">- This was due to an issue on the DWH that was picked up now with jpReportingLines, where the Datawarehouse package did not cater for Username, Name and Surname changes that can occur withinthe DataSource table "JobProfiler.UserReportingLines", as the DWH only checked for changes that occurred within Database table "JobProfiler.MaterialisedUsers".

</div><div id="bkmrk--9"></div><div id="bkmrk--10"></div>#### Performance Management: Exclude job titles from performance management (#122661)

<div id="bkmrk--11"></div><div id="bkmrk-problem-10">**Problem**</div><div id="bkmrk-performance-manageme-2">- Performance Management Records are returning for Smollan, although the Job titles are excluded.

</div><div id="bkmrk--12"></div><div id="bkmrk-solution-10">**Solution**</div><div id="bkmrk-created-a-custom-con">- Created a custom container within V9 DWH that will remove Performance Management entries for Smollan if they are included in the Job Title exclusion list

</div><div id="bkmrk--13"></div>#### Evaluation questions (#123006)

<div id="bkmrk-problem-11">**Problem**</div><div id="bkmrk-the-report-shows-the">- The report shows the rater as anonymous when the KPI evaluations are sent out anonymously.

</div><div id="bkmrk--14"></div><div id="bkmrk-solution-11">**Solution**</div><div id="bkmrk-added-new-fields-per">- Added new fields 
    - **PersonThatDidTheEvaluationUnAnonymous,**
    - **ContractPeriodOverallEvaluatorEmailUnAnonymous,**
    - **ContractPeriodSectionItemEvaluatorNameUnAnonymous,**
    - **ContractPeriodSectionItemEvaluatorEmailUnAnonymous**
- This will return the user details regardless if the Anonymous setting is set to true or not

</div>---

### Learning Management

#### Period info not displayed above the mark sheet (#123698)

**Problem**

<div id="bkmrk-missing-title-with-s">- Missing title with subject, period and class name

</div>**Solution**

<div id="bkmrk-added-.marksheet-car">- Added .marksheet-card class in Marksheet.scss for top border styling
- Added title with the subject, period and class name above the Excel mark sheet

</div>#### The mark sheet shows that the same people group has been linked twice (#123772)

**Problem**

- Classes should be listed with the same node instead of the same student group/class
- Existing People group select throwing errors when retrieving a bigger group

**Solution**

- Updated the method signature for `ListPeopleGroupClassSubjectGroupsAsync` in the `ILearningManagementQueries` interface to replace `peopleGroupId` with `nodeId`. Corresponding changes were made in the `LearningManagementQueries` class, including updating the SQL query. Adjusted calls in `LearningManagementServiceV1` to pass `request.NodeId` instead of `request.PeopleGroupId`. Modified the `ListClassSubjectGroupsRequest` message in `learning_management.v1.proto` to replace `people_group_id` with `node_id`.
- Updated AttendanceRegisterViewModel and MarksheetViewModel to use ListPeopleGroupUsersRequest and ListPeopleGroupUsersResponse instead of ListRulesetPeopleGroupUsersRequest and ListRulesetPeopleGroupUsersResponse.

#### Remove the text box below the spreadsheet (#123639)

**Problem**

- There is a text box below the spreadsheet which is not shown on the mock-up.

**Solution**

- Remove the text box

#### Absent learners not saved / Error when saving again (#123744)

**Problem**

- `ClassSubjectId` is incorrectly saved as `ClassSubjectGroupId` in the attendance table. Therefore, when attempting to save, it appears that the operation is not successful.

**Solution**

- Replaced `request.ClassSubjectId` with `request.ClassSubjectGroupId` in the `CreateUpdateAttendancesCommandHandler` class.

#### Reset the toggle each time Publish &amp; Lock opens (#123707)

**Problem**

- Send Notification is enabled in `PublishAndLockConfirmationModal.tsx` when it should be disabled at the time the modal is opened

**Solution**

- Implemented `useEffect` in `PublishAndLockConfirmationModal` to reset `sendNotification` state to false when the show property changes to false, ensuring the state is cleared when the modal is closed.

#### \[Pathways\] \[Class/Group\] \[Marksheet\] Open the comments modal when you click in the comments cell (#123536)

**Problem**

- The user has no clear indication of how to open the comment modal

**Solution**

- Introduced a new feature to display a translated instruction message in the comment cell when it is empty. The message is shown in grey and changes to black when an actual comment is added and the comment column width is increased from 180 to 200.
- Added translation key `doubleClickToAddComment` in `learningManagement.json`.

#### Marksheet not saving all data (#123551)

**Problem**

- Auto marks already overridden are being overridden again by the V8 import of marks.

**Solution**

The changes introduce a new boolean property, `Overridden,` to the `Mark` class and related data structures. This property determines if the V8 import of marks should update the mark.

- Updated `Mark` class and constructors to include `Overridden`.
- Modified `CreateUpdateMarksCommandHandler.cs` to handle `Overridden`.
- Updated `LearningManagementCommands.cs` and `LearningManagementQueries.cs` to include `Overridden`.
- Enhanced `LearningManagementViewModel.cs` and `LearningManagementServiceV1.cs` to manage `Overridden`.
- Added `Overridden` to `learning_management.v1.proto` messages.
- Updated various DTOs and records to include `Overridden`.
- Added a new migration file to create the `Overridden` column in the `Marks` table.

#### \[Pathways\] \[Class/Group\] \[Marksheet\] Unable to retrieve comments error when I open a mark sheet (#123530)

**Problem**

- Adding a new class or group to a pathway and accessing the mark sheet leads to erroneous data displayed onthe UI. This is caused since the data is not yet imported to V9 and the Class/Group is not yet linked to a subject

**Solution**

- Updated `MarkController.cs` to wrap error messages in an object with a `message` property for `ConfigurationErrorsException` and `RpcException`.
- Modified `Marksheet.tsx` to check for `error.response.data.message` in the `catch` block and conditionally render `ButtonLinkSlider` and `MDBAccordion` based on `navLinks` and `markSetupList` lengths. Added alerts for no-mark setups or students.
- Added new localized messages in `learningManagement.json` for scenarios with no subjects or students

#### \[Pathways\] \[Class/Group\] \[Attendance Register\] Teacher / Facilitator shown on attendance register (#123365)

**Problem**

- LearningAdmin included in Attendance Register and Marksheet page
- Attendance history student order does not match with other pages
- Teachers with LearningAdministrator Roles can manage the Master Data

**Solution**

- Added `IdentityClient` in AttendanceController and MarksheetController. Update the Create method signature to include Identity.IdentityClient and call ListUsersLinkedToRolesAsync to filter out Learning Administrator role users.
- Updated the SQL query in `LearningManagementQueries.cs` to order results by `s.Surname` and `s.Name` .
- In `RolesViewModel.cs`, removed the `LearningAdministrator` role from one list of roles with standard permissions and re-added it to the customizable list specifically for when assigning the role to a teacher

---