Skip to content

Commit

Permalink
Merge branch 'develop' into hm-duos-2608-read-only-dar-form
Browse files Browse the repository at this point in the history
  • Loading branch information
hams7504 authored Sep 25, 2023
2 parents 3551d1e + 8edb1d7 commit f9e6602
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 66 deletions.
4 changes: 2 additions & 2 deletions src/Routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,9 @@ const Routes = (props) => (
{/* Order is important for processing links with embedded dataRequestIds */}
<AuthenticatedRoute path="/dar_application/:dataRequestId" component={DataAccessRequestApplication} props={props} rolesAllowed={[USER_ROLES.researcher]} />
<AuthenticatedRoute path="/dar_application" component={DataAccessRequestApplication} props={props} rolesAllowed={[USER_ROLES.researcher]} />
<AuthenticatedRoute path="/signing_official_console/researchers" component={ensureSoHasDaaAcknowledgement(SigningOfficialResearchers)} props={props} rolesAllowed={[USER_ROLES.admin, USER_ROLES.signingOfficial]} />
<AuthenticatedRoute path="/signing_official_console/researchers" component={ensureSoHasDaaAcknowledgement(SigningOfficialResearchers, true)} props={props} rolesAllowed={[USER_ROLES.admin, USER_ROLES.signingOfficial]} />
<AuthenticatedRoute path="/signing_official_console/dar_requests" component={ensureSoHasDaaAcknowledgement(SigningOfficialDarRequests)} props={props} rolesAllowed={[USER_ROLES.admin, USER_ROLES.signingOfficial]} />
{checkEnv(envGroups.NON_STAGING) && <AuthenticatedRoute path="/signing_official_console/data_submitters" component={ensureSoHasDaaAcknowledgement(SigningOfficialDataSubmitters, true)} props={props} rolesAllowed={[USER_ROLES.admin, USER_ROLES.signingOfficial]} />}
{checkEnv(envGroups.NON_STAGING) && <AuthenticatedRoute path="/signing_official_console/data_submitters" component={ensureSoHasDaaAcknowledgement(SigningOfficialDataSubmitters, false, true)} props={props} rolesAllowed={[USER_ROLES.admin, USER_ROLES.signingOfficial]} />}
<AuthenticatedRoute path="/dataset_submissions" component={DatasetSubmissions} props={props} rolesAllowed={[USER_ROLES.dataSubmitter]}/>
<AuthenticatedRoute path="/dataset_registration/:datasetId" component={DatasetRegistration} props={props} rolesAllowed={[USER_ROLES.admin, USER_ROLES.chairperson]} />
<AuthenticatedRoute path="/dataset_update/:datasetId" component={DatasetUpdateForm} props={props} rolesAllowed={[USER_ROLES.admin, USER_ROLES.chairperson]} />
Expand Down
13 changes: 9 additions & 4 deletions src/components/SigningOfficialDaaAgreementWrapper.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import { useEffect, useState } from 'react';
import { spinnerService } from '../libs/spinner-service';
import { isNil, isNull } from 'lodash';
import { Styles } from '../libs/theme';
import UsgOmbText from './UsgOmbText';

export const SigningOfficialDaaAgreementWrapper = (props) => {
const {
Expand Down Expand Up @@ -98,10 +99,14 @@ export const SigningOfficialDaaAgreementWrapper = (props) => {
// Wraps component and ensures that SO agrees to the
// Broad and NIH agreements before proceeding to the given
// component.
export const ensureSoHasDaaAcknowledgement = (component, isDataSubmitterTab=false) => {
return (props) => h(SigningOfficialDaaAgreementWrapper, {isDataSubmitterTab}, [
h(component, props),
]);
export const ensureSoHasDaaAcknowledgement = (component, isLibraryCardIssueTable = false, isDataSubmitterTab = false) => {
return (props) => (
div({}, [
h(SigningOfficialDaaAgreementWrapper, { isDataSubmitterTab }, [
h(component, props),
]),
isLibraryCardIssueTable && UsgOmbText()
]));
};

export default SigningOfficialDaaAgreementWrapper;
9 changes: 9 additions & 0 deletions src/components/UsgOmbText.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

48 changes: 26 additions & 22 deletions src/pages/DataSubmissionForm.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import NihAnvilUse from '../components/data_submission/NihAnvilUse';
// schama changes, then run `npm run genschemas` to regenerate this code
import validateSchema from '../assets/schemas/DataRegistrationV1Validation';
import { set } from 'lodash';
import UsgOmbText from '../components/UsgOmbText';

export const DataSubmissionForm = (props) => {
const {
Expand Down Expand Up @@ -152,36 +153,39 @@ export const DataSubmissionForm = (props) => {
};


return !failedInit && <div style={Styles.PAGE} >
<div style={{ display: 'flex', justifyContent: 'space-between', width: '112%', marginLeft: '-6%', padding: '0 2.5%' }}>
<div className='left-header-section' style={Styles.LEFT_HEADER_SECTION} >
<div style={Styles.ICON_CONTAINER}>
<img id='lock-icon' src={lockIcon} style={Styles.HEADER_IMG} />
</div>
<div style={Styles.HEADER_CONTAINER}>
<div style={Styles.TITLE}>
Study Registration Form
<div style={Styles.MEDIUM_DESCRIPTION}>
Submit new datasets to DUOS
return <div>
{!failedInit && <div style={Styles.PAGE} >
<div style={{ display: 'flex', justifyContent: 'space-between', width: '112%', marginLeft: '-6%', padding: '0 2.5%' }}>
<div className='left-header-section' style={Styles.LEFT_HEADER_SECTION} >
<div style={Styles.ICON_CONTAINER}>
<img id='lock-icon' src={lockIcon} style={Styles.HEADER_IMG} />
</div>
<div style={Styles.HEADER_CONTAINER}>
<div style={Styles.TITLE}>
Study Registration Form
<div style={Styles.MEDIUM_DESCRIPTION}>
Submit new datasets to DUOS
</div>
</div>
</div>
</div>
</div>
</div>

<form style={{ margin: 'auto', maxWidth: 800}}>
<form style={{ margin: 'auto', maxWidth: 800}}>


<DataSubmissionStudyInformation onChange={onChange} validation={formValidation} onValidationChange={onValidationChange} studyEditMode={studyEditMode}/>
<NihAnvilUse onChange={onChange} formData={formData} validation={formValidation} onValidationChange={onValidationChange} studyEditMode={studyEditMode}/>
<NIHAdministrativeInformation formData={formData} onChange={onChange} institutions={institutions} validation={formValidation} onValidationChange={onValidationChange} studyEditMode={studyEditMode}/>
<NIHDataManagement formData={formData} onChange={onChange} onFileChange={onFileChange} validation={formValidation} onValidationChange={onValidationChange} studyEditMode={studyEditMode}/>
<DataAccessGovernance onChange={onChange} onFileChange={onFileChange} validation={formValidation} onValidationChange={onValidationChange} setAllConsentGroupsSaved={setAllConsentGroupsSaved} studyEditMode={studyEditMode}/>
<DataSubmissionStudyInformation onChange={onChange} validation={formValidation} onValidationChange={onValidationChange} studyEditMode={studyEditMode}/>
<NihAnvilUse onChange={onChange} formData={formData} validation={formValidation} onValidationChange={onValidationChange} studyEditMode={studyEditMode}/>
<NIHAdministrativeInformation formData={formData} onChange={onChange} institutions={institutions} validation={formValidation} onValidationChange={onValidationChange} studyEditMode={studyEditMode}/>
<NIHDataManagement formData={formData} onChange={onChange} onFileChange={onFileChange} validation={formValidation} onValidationChange={onValidationChange} studyEditMode={studyEditMode}/>
<DataAccessGovernance onChange={onChange} onFileChange={onFileChange} validation={formValidation} onValidationChange={onValidationChange} setAllConsentGroupsSaved={setAllConsentGroupsSaved} studyEditMode={studyEditMode}/>

<div className='flex flex-row' style={{justifyContent: 'flex-end', marginBottom: '2rem'}}>
<a className='button button-white' onClick={submit}>Submit</a>
</div>
</form>
<div className='flex flex-row' style={{justifyContent: 'flex-end', marginBottom: '2rem'}}>
<a className='button button-white' onClick={submit}>Submit</a>
</div>
</form>
</div>}
<UsgOmbText />
</div>;
};

Expand Down
74 changes: 36 additions & 38 deletions src/pages/dar_application/DataAccessRequestApplication.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import {
} from '../../utils/darFormUtils';
import { isArray, set } from 'lodash';
import DucAddendum from './DucAddendum';
import UsgOmbText from '../../components/UsgOmbText';

const ApplicationTabs = [
{ name: 'Researcher Information' },
Expand Down Expand Up @@ -471,41 +472,16 @@ const DataAccessRequestApplication = (props) => {
Back
</a>
</div>
}
</div>
</div>

<div style={{ clear: 'both' }} />
<form name='form' noValidate={true} className='forms-v2'>
<div className='multi-step-buttons-container'>
<Tabs
value={step}
variant='scrollable'
scrollButtons='auto'
orientation='vertical'
TabIndicatorProps={{
style: { background: '#2BBD9B' }
}}
onChange={(event, step) => {
goToStep(step);
}}
>
{
applicationTabs.map((tabConfig, index) => {
const { name, showStep = true } = tabConfig;
return <Tab
key={`step-${index}-${name}`}
label={<div>
{showStep && <div className='step'>{`Step ${index + 1}`}</div>}
<div className='title'>{name}</div>
</div>}
value={index + 1}
/>;
})
{formData.darCode !== null &&
<div className='col-lg-2 col-md-3 col-sm-3 col-xs-12 no-padding'>
<a id='btn_back' onClick={back} className='btn-primary btn-back'>
<i className='glyphicon glyphicon-chevron-left' />
Back
</a>
</div>
}
</Tabs>
</div>
</div>

<div id='form-views'>
<ConfirmationDialog
title='Save changes?' disableOkBtn={disableOkBtn} disableNoBtn={disableOkBtn} color=''
Expand Down Expand Up @@ -587,15 +563,37 @@ const DataAccessRequestApplication = (props) => {
save={() => setShowDialogSave(true)}
/> : <div />}
</div>
<div className='step-container'>
<ResearchPurposeStatement
darCode={formData.darCode}
readOnlyMode={isAttested}
validation={formValidation.rusErrors}
formValidationChange={(val) => formValidationChange('rusErrors', val)}
formFieldChange={formFieldChange}
formData={formData}
/>
</div>

{isAttested &&
<div className='step-container'>
<DucAddendum doSubmit={doSubmit} save={() => setShowDialogSave(true)} isLoading={isLoading} formData={formData} datasets={datasets} dataUseTranslations={dataUseTranslations} />
<DataUseAgreements
darCode={formData.darCode}
cancelAttest={() => setIsAttested(false)}
isAttested={isAttested}
attest={attemptSubmit}
save={() => setShowDialogSave(true)}
/>
</div>
}

{isAttested &&
<div className='step-container'>
<DucAddendum doSubmit={doSubmit} save={() => setShowDialogSave(true)} isLoading={isLoading} formData={formData} datasets={datasets} dataUseTranslations={dataUseTranslations} />
</div>
}
</div>
</div>
</div>
</form>
</form>
</div>
<UsgOmbText />
</div>
);
};
Expand Down

0 comments on commit f9e6602

Please sign in to comment.