Skip to content

Feat 176 single bulk assignment refactor#247

Merged
dennis-zyska merged 13 commits into
devfrom
feat-176-single_bulk-assignment-refactor
Jul 22, 2026
Merged

Feat 176 single bulk assignment refactor#247
dennis-zyska merged 13 commits into
devfrom
feat-176-single_bulk-assignment-refactor

Conversation

@karimouf

Copy link
Copy Markdown
Collaborator

###Main Description
This pull request introduces a refactor to the single and bulk assignment

New Dev Features

  • Single assignments are no longer used
  • Bulk assignment is now renamed to assignments
  • The assignments model handles bulk and single assignment steps
  • code visibly reduced
  • Each step is in its own template component

@pdji1602003

pdji1602003 commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator

[Question] Is the description field not mandatory? Without filling it out, I, as a user, can still submit the form.

sc1

@pdji1602003

Copy link
Copy Markdown
Collaborator

[Bug] When creating a new assignment by clicking on "Add Assignment" button, the End Time of an assignment can be set before the Start Time.

@pdji1602003

pdji1602003 commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator

[Bug] It's not in this pull request's scope😂, but I accidentally discovered if I click on the "Closed" tag, there would be this error "Uncaught TypeError: can't access property "closest", this._element is null". (All CARE platform shares this error.)

sc2

Update: I am not sure if it has anything to do with this issue: #178

@pdji1602003
pdji1602003 self-requested a review June 30, 2026 03:34

@pdji1602003 pdji1602003 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just finished the review. Thank you for the hard work. I like how you use provide/inject for shared confirmation/distribution state to avoid deep prop drilling and also the idea of turning each step into an independent component for the separation of responsibility. :)

Comment thread frontend/src/components/dashboard/study/AssignmentModal.vue Outdated
Comment thread frontend/src/components/dashboard/study/assignment/AssignmentSelectionStep.vue Outdated
Comment thread frontend/src/components/dashboard/Study.vue
Comment thread frontend/src/components/dashboard/study/assignment/WorkflowMappingStep.vue Outdated
Comment thread frontend/src/components/dashboard/study/assignment/WorkflowMappingStep.vue Outdated

@NAO-200 NAO-200 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I left a few minor comments regarding readability and maintainability, but overall the changes look good 👍

Comment thread frontend/src/components/dashboard/study/assignment/ConfirmationStep.vue Outdated
Comment thread frontend/src/components/dashboard/Study.vue Outdated
Comment thread frontend/src/components/dashboard/study/assignment/DistributionStep.vue Outdated
Comment thread frontend/src/components/dashboard/study/assignment/WorkflowMappingStep.vue Outdated
@karimouf

Copy link
Copy Markdown
Collaborator Author

[Question] Is the description field not mandatory? Without filling it out, I, as a user, can still submit the form.

sc1

No its not mandatory

@karimouf

Copy link
Copy Markdown
Collaborator Author

Thanks so much for your comments I found them very helpful I went through them and fixed all that required fixing please take another look @pdji1602003 @NAO-200

@NAO-200 NAO-200 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

</template>

<script>
import StepperModal from "@/basic/modal/StepperModal.vue";

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Docstring is missing

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess not its just down bellow

});
},
createSingleAssignment() {
this.$refs.assignmentStepper.startProgress();

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The progressId is not send here to the backend. Is it needed for single Assignment?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The progressId is used for tracking the progress of the bulk operation. In this case there is no bulk operation therefore we dont need to send the progressId to the backend

Comment thread frontend/src/components/dashboard/Study.vue
Comment thread frontend/src/components/dashboard/study/assignment/AssignmentSelectionStep.vue Outdated
@dennis-zyska
dennis-zyska merged commit 05baf78 into dev Jul 22, 2026
3 of 5 checks passed
@dennis-zyska
dennis-zyska deleted the feat-176-single_bulk-assignment-refactor branch July 22, 2026 18:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants