Details

    • Type: Bug Fix Bug Fix
    • Status: Closed Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 2.1.3
    • Fix Version/s: 2.1.4, 2.2.2
    • Component/s: User Interface
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Similar issues:
      KULRICE-10306person document has a display issue if a role has more than 19 role qualifiers
      KULRICE-7896NullPointerException if no role qualifier added on Person document
      KULRICE-4178Some role qualifiers displaying incorrectly
      KULRICE-6565Fix qualifiers on role for Person and Role Documents
      KULRICE-7605Person and Role document broken when displaying data with role that has namespace qualifier
      KULRICE-3989UIDocumentService.loadRoleMemberQualifiers - is there a way to load qualifiers not associated with the role type
      KULRICE-9199Unable to inactivate roles of type unitHierarchy or unit from person maintenance docs
      KULRICE-7082KIM role document not handling missing qualifiers on role members
      KULRICE-4416Need a way to view a person, group or roles permissions and responsibilities and their sources
      KULRICE-12836Role qualifiers lost on role maintenance document
    • Rice Module:
      KIM
    • Application Requirement:
      KC
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required
    • Include in Release Notes?:
      Yes

      Description

      The person document does not seem to be loading role qualifier details for the role. This seems to be because of the changes that were part of KULRICE-8836. The loadRoleToPersonDoc method has been changed to not load the rolePrincipal details (role.rolePrncpls) to improve performance but as a side effect, this is causing the role qualifiers to not appear in the person document because the personRoleQualifier.tag loops through this array to display the attribute details

      personRoleQualifier.tag
        <!-- use definitions map -->
          <c:if test="${fn:length(role.rolePrncpls) > 0}">
            <c:forEach var="rolePrncpl" items="${role.rolePrncpls}" varStatus="status1">
              <c:if test="${fn:length(rolePrncpl.qualifiers) > 0}">
                <tr>
                    <%-- TODO : rowspan=2 if there is responsibilityaction only --%>
                  <c:set var="rows" value="1"/>
                  <c:if test="${fn:length(rolePrncpl.roleRspActions) > 0}">
                    <c:set var="rows" value="2"/>
      
                  </c:if>
                  <th rowspan="${rows}" class="infoline">
                    <c:out value="${status1.index+1}"/>
                  </th>
                  <c:forEach var="attrDefn" items="${role.definitions}" varStatus="status">
                    <c:forEach var="qualifier" items="${rolePrncpl.qualifiers}" varStatus="status2">
                      <c:if test="${attrDefn.attributeField.name == qualifier.kimAttribute.attributeName}">
                        <c:set var="attr" value="${attrDefn.attributeField}"/>
                        <c:set var="fieldName" value="${attr.name}"/>
                        <c:set var="attrEntry" value="${role.attributeEntry[fieldName]}"/>
                        <c:set var="attrDefinition" value="${role.definitionsKeyedByAttributeName[fieldName]}"/>
                        <c:set var="attrReadOnly" value="${readOnlyRole}"/>
                        <td align="left" valign="middle">
                          <div align="center">
                            <kul:htmlControlAttribute
                                    property="document.roles[${roleIdx}].rolePrncpls[${status1.index}].qualifiers[${status.index}].attrVal"
                                    attributeEntry="${attrEntry}" readOnly="true"/>
      
      
                          </div>
                        </td>
                      </c:if>
                    </c:forEach>
      

      This affects the person inquiry as well as the person document. See attached images for the current and the correct inquiry displays.

        Issue Links

          Activity

          Hide
          Gayathri Athreya added a comment -

          Hopefully this fix does not affect the performance improvements done for KULRICE-8836, the data linked to KULRICE-8836 can still be used to test that. Once it is fixed, let us know and we can pull it in and test KULRICE-8836 again with real data.

          Show
          Gayathri Athreya added a comment - Hopefully this fix does not affect the performance improvements done for KULRICE-8836 , the data linked to KULRICE-8836 can still be used to test that. Once it is fixed, let us know and we can pull it in and test KULRICE-8836 again with real data.
          Hide
          Corey Pedersen (Inactive) added a comment -

          @Gayathri: it would help if I had test cases in rice. would it be possible to mod your big test data, adding some roles with qualifiers?

          Show
          Corey Pedersen (Inactive) added a comment - @Gayathri: it would help if I had test cases in rice. would it be possible to mod your big test data, adding some roles with qualifiers?
          Hide
          Gayathri Athreya added a comment - - edited

          I could add roles with qualifiers in it but it seems to me like you will need a KC db running for it since the roleTypeService will be in KC. Let me see if there is something similar in the master rice data and get back to you.

          Show
          Gayathri Athreya added a comment - - edited I could add roles with qualifiers in it but it seems to me like you will need a KC db running for it since the roleTypeService will be in KC. Let me see if there is something similar in the master rice data and get back to you.
          Hide
          Gayathri Athreya added a comment -

          I don't see any roleTypeServices in Rice that we can use, the only ones I see are default or derived role type services. I will try to create data for you.

          Show
          Gayathri Athreya added a comment - I don't see any roleTypeServices in Rice that we can use, the only ones I see are default or derived role type services. I will try to create data for you.
          Hide
          Corey Pedersen (Inactive) added a comment -

          I have draft of a fix ready, I just need the data to test.

          Show
          Corey Pedersen (Inactive) added a comment - I have draft of a fix ready, I just need the data to test.
          Hide
          Gayathri Athreya added a comment -

          Oh, that's awesome. Do you think it would work if you sent me the patch and I tested it?

          Show
          Gayathri Athreya added a comment - Oh, that's awesome. Do you think it would work if you sent me the patch and I tested it?
          Hide
          Gayathri Athreya added a comment - - edited

          we found that this is reproducible in the KFS int env. Open role 76, open the memberships tab. Click on the person inquiry, you will notice the qualifiers for Organization type role missing. You can also open the person aburton for edit and you will notice the missing role qualifiers.

          Show
          Gayathri Athreya added a comment - - edited we found that this is reproducible in the KFS int env. Open role 76, open the memberships tab. Click on the person inquiry, you will notice the qualifiers for Organization type role missing. You can also open the person aburton for edit and you will notice the missing role qualifiers.
          Hide
          Gayathri Athreya added a comment -

          Corey, that last patch you sent me seems to have fixed the issue. Thanks. Let me know when you commit and I can pull it in and check this and performance again.

          Show
          Gayathri Athreya added a comment - Corey, that last patch you sent me seems to have fixed the issue. Thanks. Let me know when you commit and I can pull it in and check this and performance again.
          Hide
          Corey Pedersen (Inactive) added a comment -

          Committed revision 37803. gayathri: I have added a small change in my commit, compared to the last patch, to make it slightly more efficient. I am changing issue to resolved. Please reopen if there are any issues.

          Show
          Corey Pedersen (Inactive) added a comment - Committed revision 37803. gayathri: I have added a small change in my commit, compared to the last patch, to make it slightly more efficient. I am changing issue to resolved. Please reopen if there are any issues.

            People

            • Assignee:
              Corey Pedersen (Inactive)
              Reporter:
              Gayathri Athreya
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Structure Helper Panel