Details

    • Type: Task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.4
    • Component/s: Development
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Rice Module:
      KRAD
    • KRAD Feature Area:
      Maintenance
    • Application Requirement:
      Rice
    • Sprint:
      2.4.0-m3 KRAD Sprint 4
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required
    • Code Review Status:
      Not Required
    • Include in Release Notes?:
      Yes

      Description

      M: Automatically clears out secure fields upon a BO copy operation.
      1) Build a KRAD sample linked from the KRAD sample app / labs / maintenance page, and
      2) identify a KNS example.
      Add links to these in the corresponding row the Maintenance Gap Analysis wiki page (https://wiki.kuali.org/display/KULRICE/Gap+Analysis+-+Maintenance+Document) to these examples.

      The TravelerDetail has a masked secure fields. For the sample we'll need a maintenance document view and lookup to copy the BO.

      In KNS this was implemented in KualiMaintenanceDocumentAction.clearUnauthorizedNewFields

        Attachments

        1. ClearSecureBoCopyBlankId.png
          32 kB
          Erik Meade
        2. M44KnsExample.png
          131 kB
          Erik Meade
        3. TravelDestinationMaintenanceDocument.xml
          2 kB
          Erik Meade
        4. TravelerDetailMainenanceValidationError.png
          20 kB
          Erik Meade
        5. TravlerDetailsInquiryPhoneNumberAdmin.png
          79 kB
          Erik Meade
        6. TravlerDetailsInquiryPhoneNumberDev1.png
          79 kB
          Erik Meade

          Issue Links

            Activity

            Show
            eghm-kuali-m Erik Meade added a comment - M44 Sample URL (dev1) http://localhost:8080/krad-dev/kr-krad/maintenance?viewTypeName=MAINTENANCE&id=1&methodToCall=maintenanceCopy&dataObjectClassName=edu.sampleu.travel.dataobject.TravelerDetail&backdoorId=dev1 M44 Sample URL (admin) http://localhost:8080/krad-dev/kr-krad/maintenance?viewTypeName=MAINTENANCE&id=1&methodToCall=maintenanceCopy&dataObjectClassName=edu.sampleu.travel.dataobject.TravelerDetail&backdoorId=admin
            Hide
            eghm-kuali-m Erik Meade added a comment -

            TravelerDetailMainenanceValidationError.png date validation error was due to the Drivers license exp date, adding the field to the form caused it to be formatted properly. Liability Insurance requires 0 1 or blank, vs true/false.

            Show
            eghm-kuali-m Erik Meade added a comment - TravelerDetailMainenanceValidationError.png date validation error was due to the Drivers license exp date, adding the field to the form caused it to be formatted properly. Liability Insurance requires 0 1 or blank, vs true/false.
            Hide
            eghm-kuali-m Erik Meade added a comment -

            ClearSecureBoCopyBlankId.png - Notice the blank id, which then causes a duplicate primary key after the first copy. Doc Number is ?? that isn't right is it? Phone Number is null, which is expected behavior as Phone Number is the secured field.

            Show
            eghm-kuali-m Erik Meade added a comment - ClearSecureBoCopyBlankId.png - Notice the blank id, which then causes a duplicate primary key after the first copy. Doc Number is ?? that isn't right is it? Phone Number is null, which is expected behavior as Phone Number is the secured field.
            Hide
            eghm-kuali-m Erik Meade added a comment -

            M44KnsExample.png - KFS user ahrens on Main Menu ACHBank search (routing numbers) (Rice KNS example was in travelapp has been removed from sampleapp)

            org/kuali/kfs/pdp/businessobject/datadictionary/ACHBank.xml:

              <bean id="ACHBank-bankRoutingNumber-parentBean" abstract="true" parent="AttributeDefinition">
                <property name="name" value="bankRoutingNumber"/>
                <property name="forceUppercase" value="false"/>
                <property name="label" value="Bank Routing Number"/>
                <property name="shortLabel" value="Bank Routing Number"/>
                <property name="maxLength" value="9"/>
                <property name="validationPattern">
                  <ref bean="NumericValidation" />
                </property>
                <property name="required" value="true"/>
                <property name="control">
                  <bean parent="TextControlDefinition" p:size="9"/>
                </property>
                <property name="attributeSecurity">
                            <bean parent="AttributeSecurity">
                                    <property name="mask" value="true"/> 
                                    <property name="maskFormatter">
                                    <bean parent="MaskFormatterLiteral" p:literal="*********"/> 
                                    </property>
                            </bean>
                    </property>
              </bean>
            
            Show
            eghm-kuali-m Erik Meade added a comment - M44KnsExample.png - KFS user ahrens on Main Menu ACHBank search (routing numbers) (Rice KNS example was in travelapp has been removed from sampleapp) org/kuali/kfs/pdp/businessobject/datadictionary/ACHBank.xml: <bean id= "ACHBank-bankRoutingNumber-parentBean" abstract = " true " parent= "AttributeDefinition" > <property name= "name" value= "bankRoutingNumber" /> <property name= "forceUppercase" value= " false " /> <property name= "label" value= "Bank Routing Number " /> <property name= "shortLabel" value= "Bank Routing Number " /> <property name= "maxLength" value= "9" /> <property name= "validationPattern" > <ref bean= "NumericValidation" /> </property> <property name= "required" value= " true " /> <property name= "control" > <bean parent= "TextControlDefinition" p:size= "9" /> </property> <property name= "attributeSecurity" > <bean parent= "AttributeSecurity" > <property name= "mask" value= " true " /> <property name= "maskFormatter" > <bean parent= "MaskFormatterLiteral" p:literal= "*********" /> </property> </bean> </property> </bean>
            Hide
            eghm-kuali-m Erik Meade added a comment - - edited

            Example completed, but there are implementation issues with the copy functionality (blank id, ?? doc number)

            Show
            eghm-kuali-m Erik Meade added a comment - - edited Example completed, but there are implementation issues with the copy functionality (blank id, ?? doc number)

              People

              • Assignee:
                eghm-kuali-m Erik Meade
                Reporter:
                cniesen Claus Niesen
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 1 day Original Estimate - 1 day
                  1d
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 2 days, 6 hours, 35 minutes
                  2d 6h 35m