Skip to content

Commit

Permalink
Ki/appeals 17508 v3 - Add Edit Issues Dropdown (#18453)
Browse files Browse the repository at this point in the history
* APPEALs-17508 - feature branch update issues fix

* APPEALS-17508 - MST/PACT FeatureToggle
  • Loading branch information
KiMauVA authored and kristeja committed Apr 19, 2023
1 parent 0a017b8 commit cc42b04
Show file tree
Hide file tree
Showing 7 changed files with 29 additions and 3 deletions.
4 changes: 4 additions & 0 deletions app/models/user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,10 @@ def administer_org_users?
admin? || granted?("Admin Intake") || roles.include?("Admin Intake") || member_of_organization?(Bva.singleton)
end

def can_edit_intake_issues?
BvaIntake.singleton.admins.include?(self)
end

def can_view_overtime_status?
(attorney_in_vacols? || judge_in_vacols?) && FeatureToggle.enabled?(:overtime_revamp, user: self)
end
Expand Down
1 change: 1 addition & 0 deletions app/views/appeals/edit.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
userDisplayName: current_user.display_name,
userCanWithdrawIssues: current_user.can_withdraw_issues?,
userCanSplitAppeal: current_user.can_split_appeal?(appeal),
userCanEditIntakeIssues: current_user.can_edit_intake_issues?,
appeal: appeal,
hearings: appeal.hearings,
hearingDayDate: appeal.hearing_day_if_schedueled,
Expand Down
1 change: 1 addition & 0 deletions app/views/higher_level_reviews/edit.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
<%= react_component("IntakeEdit", props: {
userDisplayName: current_user.display_name,
userCanWithdrawIssues: current_user.can_withdraw_issues?,
userCanEditIntakeIssues: current_user.can_edit_intake_issues?,
dropdownUrls: dropdown_urls,
feedbackUrl: feedback_url,
buildDate: build_date,
Expand Down
1 change: 1 addition & 0 deletions app/views/supplemental_claims/edit.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
<%= react_component("IntakeEdit", props: {
userDisplayName: current_user.display_name,
userCanWithdrawIssues: current_user.can_withdraw_issues?,
userCanEditIntakeIssues: current_user.can_edit_intake_issues?,
dropdownUrls: dropdown_urls,
feedbackUrl: feedback_url,
buildDate: build_date,
Expand Down
18 changes: 16 additions & 2 deletions client/app/intake/components/IssueList.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ const nonEditableIssueStyling = css({
});

export default class IssuesList extends React.Component {
generateIssueActionOptions = (issue, userCanWithdrawIssues, isDtaError) => {
generateIssueActionOptions = (issue, userCanWithdrawIssues, userCanEditIntakeIssues, isDtaError) => {
let options = [];

if (issue.correctionType && issue.endProductCleared) {
Expand All @@ -27,6 +27,12 @@ export default class IssuesList extends React.Component {
{ displayText: 'Remove issue',
value: 'remove' }
);
if (userCanEditIntakeIssues) {
options.push(
{ displayText: 'Edit issue',
value: 'edit' }
);
}
} else if (issue.endProductCleared) {
options.push({ displayText: 'Correct issue',
value: 'correct' });
Expand All @@ -41,6 +47,12 @@ export default class IssuesList extends React.Component {
{ displayText: 'Remove issue',
value: 'remove' }
);
if (userCanEditIntakeIssues) {
options.push(
{ displayText: 'Edit issue',
value: 'edit' }
);
}
}

return options;
Expand All @@ -54,6 +66,7 @@ export default class IssuesList extends React.Component {
onClickIssueAction,
withdrawReview,
userCanWithdrawIssues,
userCanEditIntakeIssues,
editPage
} = this.props;

Expand All @@ -70,7 +83,7 @@ export default class IssuesList extends React.Component {
editableIssueProperties);

const issueActionOptions = this.generateIssueActionOptions(
issue, userCanWithdrawIssues, intakeData.isDtaError
issue, userCanWithdrawIssues, userCanEditIntakeIssues, intakeData.isDtaError
);

return <div className="issue-container" key={`issue-container-${issue.index}`}>
Expand Down Expand Up @@ -127,5 +140,6 @@ IssuesList.propTypes = {
onClickIssueAction: PropTypes.func,
withdrawReview: PropTypes.bool,
userCanWithdrawIssues: PropTypes.bool,
userCanEditIntakeIssues: PropTypes.bool,
editPage: PropTypes.bool
};
4 changes: 4 additions & 0 deletions client/app/intake/pages/addIssues.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@ class AddIssuesPage extends React.Component {
editPage,
addingIssue,
userCanWithdrawIssues,
userCanEditIntakeIssues,
userCanSplitAppeal
} = this.props;
const intakeData = intakeForms[formType];
Expand Down Expand Up @@ -394,6 +395,7 @@ class AddIssuesPage extends React.Component {
formType={formType}
featureToggles={featureToggles}
userCanWithdrawIssues={userCanWithdrawIssues}
userCanEditIntakeIssues={userCanEditIntakeIssues && this.props.featureToggles.mst_pact_identification}
editPage={editPage}
/>
{showPreDocketBanner && <Alert message={COPY.VHA_PRE_DOCKET_ADD_ISSUES_NOTICE} type="info" />}
Expand Down Expand Up @@ -562,6 +564,7 @@ AddIssuesPage.propTypes = {
veteran: PropTypes.object,
withdrawIssue: PropTypes.func,
userCanWithdrawIssues: PropTypes.bool,
userCanEditIntakeIssues: PropTypes.bool,
userCanSplitAppeal: PropTypes.bool
};

Expand Down Expand Up @@ -611,6 +614,7 @@ export const EditAddIssuesPage = connect(
activeIssue: state.activeIssue,
addingIssue: state.addingIssue,
userCanWithdrawIssues: state.userCanWithdrawIssues,
userCanEditIntakeIssues: state.userCanEditIntakeIssues,
userCanSplitAppeal: state.userCanSplitAppeal

}),
Expand Down
3 changes: 2 additions & 1 deletion client/app/intakeEdit/reducers/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { formatRequestIssues, formatContestableIssues } from '../../intake/util/
import { formatRelationships } from '../../intake/util';

export const mapDataToInitialState = function(props = {}) {
const { serverIntake, claimId, featureToggles, userCanWithdrawIssues, userCanSplitAppeal} = props;
const { serverIntake, claimId, featureToggles, userCanWithdrawIssues, userCanEditIntakeIssues, userCanSplitAppeal} = props;

serverIntake.relationships = formatRelationships(serverIntake.relationships);
serverIntake.contestableIssues = formatContestableIssues(serverIntake.contestableIssuesByDate);
Expand All @@ -28,6 +28,7 @@ export const mapDataToInitialState = function(props = {}) {
claimId,
featureToggles,
userCanWithdrawIssues,
userCanEditIntakeIssues,
userCanSplitAppeal,
addIssuesModalVisible: false,
nonRatingRequestIssueModalVisible: false,
Expand Down

0 comments on commit cc42b04

Please sign in to comment.