Uploaded image for project: 'Kuali Rice Development'
  1. Kuali Rice Development
  2. KULRICE-5363

Inquiry - Support for displaying bo attachments and downloading

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.5
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Rice Module:
      KRAD
    • KRAD Feature Area:
      Inquiry, Maintenance
    • Sprint:
      Core 2.5.0-m6 Sprint 2
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required
    • Include in Release Notes?:
      Yes
    • Story Points:
      13

      Description

      As a user of inquiries, I want to be able to see and download attachments from the inquiry view (both attachments associated with the doc and those associated with the BO), so that I can access the attachments without having to edit the doc.

      Inquiries in KRAD need support for displaying bo attachments on the inquiry and allowing them to be downloaded.

      There are two ways of downloading attachments from inquiries: from something of type PersistableAttachment or PersistableAttachmentList, and from custom parameters. The KNS code for the first can be found in KualiInquiryAction.downloadAttachment, and the KNS code for the second can be found in KualiInquiryAction.downloadCustomBOAttachment. The first is very much like what we do with maintenance documents, as seen in MaintenanceDocumentControllerServiceImpl. The second just takes raw parameters and allows the download based on those parameters.

      These two methods need to be integrated into the InquiryController and InquiryControllerServiceImpl just like they are in maintenance. The first method should be renamed to downloadDataObjectAttachment and the second method should be renamed to downloadCustomDataObjectAttachment for consistency. We should probably keep these separate for now.

      Also update the KNS2KRAD upgrade guide to show how to convert KNS to KRAD. Create a pre-commit code review as well.

        Attachments

          Issue Links

            Activity

            Hide
            jcoltrin Jessica Coltrin (Inactive) added a comment -

            double-tagging with 2.0.0-b3 for review.

            Show
            jcoltrin Jessica Coltrin (Inactive) added a comment - double-tagging with 2.0.0-b3 for review.
            Hide
            kbtaylor Kristina Taylor (Inactive) added a comment -

            I'm not really sure this was ever really used anywhere or even properly implemented. I couldn't find any examples in Fisheye in Inquiries specifically, and I couldn't find how it could work in the KNS. I think this is perhaps a desired feature in the long run but it may not be as critical as others. It would be easier to actually implement this feature after fixing KULRICE-10455 since all the data objects would be linked up in an example.

            Show
            kbtaylor Kristina Taylor (Inactive) added a comment - I'm not really sure this was ever really used anywhere or even properly implemented. I couldn't find any examples in Fisheye in Inquiries specifically, and I couldn't find how it could work in the KNS. I think this is perhaps a desired feature in the long run but it may not be as critical as others. It would be easier to actually implement this feature after fixing KULRICE-10455 since all the data objects would be linked up in an example.
            Hide
            kbtaylor Kristina Taylor (Inactive) added a comment -

            See additional comments on KULRICE-12964.

            Show
            kbtaylor Kristina Taylor (Inactive) added a comment - See additional comments on KULRICE-12964 .
            Hide
            shahess Shannon Hess added a comment - - edited

            From work log: Investigated how this works on KNS. Got it mostly working on KRAD but I need to work out the bugs, test collection attachments, create an AFT, and create documentation.

            Attaching the inquiry screen with a download. The description does not like the word "I'm"

            Show
            shahess Shannon Hess added a comment - - edited From work log: Investigated how this works on KNS. Got it mostly working on KRAD but I need to work out the bugs, test collection attachments, create an AFT, and create documentation. Attaching the inquiry screen with a download. The description does not like the word "I'm"
            Hide
            shahess Shannon Hess added a comment -

            I've created a fisheye review for Kristina, Jerry, and Dan. https://fisheye.kuali.org/cru/rice-473 I left it open in case anyone else would like to view the changes.

            Still left todo: update the KNS2KRAD upgrade guide to show how to convert KNS to KRAD.

            Show
            shahess Shannon Hess added a comment - I've created a fisheye review for Kristina, Jerry, and Dan. https://fisheye.kuali.org/cru/rice-473 I left it open in case anyone else would like to view the changes. Still left todo: update the KNS2KRAD upgrade guide to show how to convert KNS to KRAD.
            Hide
            shahess Shannon Hess added a comment -

            To test downloadCustomDataObjectAttachment I created a second inquiry view called customDataObject for LabsTravelAttachment. It passes the fileName, contentType, and fileContentDataObjectField when the "download custom attachment" button is selected.

            Link to Inquiry Test view - http://localhost:8080/krad-dev/kr-krad/kradsampleapp?viewId=KradInquirySample-PageR6C3

            Altered inquiry link to test downloadCustomDataObjectAttachment code - http://localhost:8080/krad-dev/kr-krad/inquiry?travelAttachmentGroupNumber=123&methodToCall=start&dataObjectClassName=org.kuali.rice.krad.labs.LabsTravelAttachment&id=attachment14085ay561744&viewName=customDataObject

            <bean id="TravelAttachmentCustomSample-inquiryDefinition" parent="Uif-InquiryView">
                <property name="title" value="Travel Attachment Inquiry"/>
                <property name="dataObjectClassName" value="org.kuali.rice.krad.labs.LabsTravelAttachment"/>
                <property name="viewName" value="customDataObject"/>
                <property name="items">
                  <list>
                    <bean parent="Uif-Disclosure-GridSection">
                      <property name="headerText" value="Travel Attachment"/>
                      <property name="items">
                        <list>
                          <bean parent="Uif-DataField" p:propertyName="id"/>
                          <bean parent="Uif-DataField" p:propertyName="travelAttachmentGroupNumber"/>
                          <bean parent="Uif-DataField" p:propertyName="description"/>
                          <bean parent="Uif-VerticalFieldGroup" p:label="Attached File">
                            <property name="items">
                              <list>
                                <bean parent="Uif-DataField" p:labelRendered="false" p:propertyName="fileName"/>
                                <bean parent="Uif-PrimaryActionButton-Small" p:methodToCall="downloadCustomDataObjectAttachment"
                                      p:ajaxSubmit="false" p:actionLabel="download custom attachment"
                                      p:title="download custom attachment" p:disableBlocking="true">
                                    <property name="additionalSubmitData">
                                      <map>
                                        <entry key="fileName" value="@{#dp.fileName}"/>
                                        <entry key="contentType" value="@{#dp.contentType}"/>
                                        <entry key="fileContentDataObjectField" value="attachmentContent"/>
                                      </map>
                                    </property>
                                </bean>
                              </list>
                            </property>
                          </bean>
                        </list>
                      </property>
                    </bean>
                  </list>
                </property>
              </bean>
            
            Show
            shahess Shannon Hess added a comment - To test downloadCustomDataObjectAttachment I created a second inquiry view called customDataObject for LabsTravelAttachment. It passes the fileName, contentType, and fileContentDataObjectField when the "download custom attachment" button is selected. Link to Inquiry Test view - http://localhost:8080/krad-dev/kr-krad/kradsampleapp?viewId=KradInquirySample-PageR6C3 Altered inquiry link to test downloadCustomDataObjectAttachment code - http://localhost:8080/krad-dev/kr-krad/inquiry?travelAttachmentGroupNumber=123&methodToCall=start&dataObjectClassName=org.kuali.rice.krad.labs.LabsTravelAttachment&id=attachment14085ay561744&viewName=customDataObject <bean id= "TravelAttachmentCustomSample-inquiryDefinition" parent= "Uif-InquiryView" > <property name= "title" value= "Travel Attachment Inquiry" /> <property name= "dataObjectClassName" value= "org.kuali.rice.krad.labs.LabsTravelAttachment" /> <property name= "viewName" value= "customDataObject" /> <property name= "items" > <list> <bean parent= "Uif-Disclosure-GridSection" > <property name= "headerText" value= "Travel Attachment" /> <property name= "items" > <list> <bean parent= "Uif-DataField" p:propertyName= "id" /> <bean parent= "Uif-DataField" p:propertyName= "travelAttachmentGroupNumber" /> <bean parent= "Uif-DataField" p:propertyName= "description" /> <bean parent= "Uif-VerticalFieldGroup" p:label= "Attached File" > <property name= "items" > <list> <bean parent= "Uif-DataField" p:labelRendered= " false " p:propertyName= "fileName" /> <bean parent= "Uif-PrimaryActionButton-Small" p:methodToCall= "downloadCustomDataObjectAttachment" p:ajaxSubmit= " false " p:actionLabel= "download custom attachment" p:title= "download custom attachment" p:disableBlocking= " true " > <property name= "additionalSubmitData" > <map> <entry key= "fileName" value= "@{#dp.fileName}" /> <entry key= "contentType" value= "@{#dp.contentType}" /> <entry key= "fileContentDataObjectField" value= "attachmentContent" /> </map> </property> </bean> </list> </property> </bean> </list> </property> </bean> </list> </property> </bean>
            Hide
            shahess Shannon Hess added a comment -
            Show
            shahess Shannon Hess added a comment - The tests failed in CI due to me not switching back to the needed file location – I've committed the fix for that. Here is the location of the tests for future reference: https://ci.kuali.org/view/rice/view/2.5/view/list/job/rice-2.5-test-functional-env14-jenkins-krad-sampleapp/lastCompletedBuild/testReport/junit/org.kuali.rice.krad.labs.maintenance/LabsMaintenanceBOAttachmentAft/ https://ci.kuali.org/view/rice/view/2.5/view/list/job/rice-2.5-test-functional-env14-jenkins-krad-sampleapp/lastCompletedBuild/testReport/junit/org.kuali.rice.krad.labs.inquiries/LabsInquiryDataObjectAttachmentAft/ I'm going to go ahead and close this issue, but I'll still verify the tests pass during their next CI run.

              People

              • Assignee:
                shahess Shannon Hess
                Reporter:
                jkneal Jerry Neal (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

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