Describe the bug
Currently, the agreements mentors and interns sign (docs/intern-agreement.md and docs/mentor-agreement.md) contain hard-coded internship and payment dates.
The .md files are converted from markdown to HTML, and displayed for the participant to sign their name on the agreement. The Markdown, along with the signee's name, signature, email address, date signed, and IP address is stored as a SignedContract object. These objects are exported to JSON, and sent to Conservancy to create intern payment RT tickets.
Ideally, interns would be able to export their signed agreement to a PDF, although that is currently not implemented.
The hard coded dates mean whenever a new internship cohort application period starts, Outreachy organizers need to edit the internship dates in both intern amd mentor agreement files, make a git commit of those files, and deploy that change to the Outreachy website.
If we fail to update those dates, interns and mentors will sign an agreement with the incorrect dates, we have to delete those aigned agreements, and get all participants to re-sign them before we send them off to Conservancy.
A better way of handling dates in the internship contract would be to generate them based on the internship dates stored in the RoundPage object.
When an intern or mentor goes to sign their agreement, the Outreachy website should look up the internship and payment dates in the RoundPage associated with the internship cohort the intern is in, or the internship cohort the mentor's project is in. It should search and replace stub dates in the contract markdown, display that markdown as HTML on the contract signature page, and save the edited markdown in a SignedContract object.
To Reproduce
Steps to reproduce the behavior:
- Use the scenarios code to create a new internship cohort, starting the day after the intern announcement. Create an approved ApplicantApproval for this cohort which is connected your website account, and create an approved InternSelection that references that ApplicantApproval for a project under this cohort. Make sure the community participation, project, internselection, applicantapproval is all approved. Set organizer_approved = True in the InternSelection.
- Login with your account and go to your dashboard. You should see a 'Sign intern agreement' link.
- Click that link. Note the old dates in the displayed agreement HTML.
Expected behavior
The correct dates should be the same as the payment schedule in docs/internship documentation on the Outreachy website.
Testing Notes
Mentors have a different flow for signing contacts. The link is found on the project applicants page. Make sure the contract dates are displayed correctly for multiple mentors. Outreachy encourages co-mentorship, so multiple mentors can sign an agreement to mentor the same intern.
Describe the bug
Currently, the agreements mentors and interns sign (docs/intern-agreement.md and docs/mentor-agreement.md) contain hard-coded internship and payment dates.
The .md files are converted from markdown to HTML, and displayed for the participant to sign their name on the agreement. The Markdown, along with the signee's name, signature, email address, date signed, and IP address is stored as a SignedContract object. These objects are exported to JSON, and sent to Conservancy to create intern payment RT tickets.
Ideally, interns would be able to export their signed agreement to a PDF, although that is currently not implemented.
The hard coded dates mean whenever a new internship cohort application period starts, Outreachy organizers need to edit the internship dates in both intern amd mentor agreement files, make a git commit of those files, and deploy that change to the Outreachy website.
If we fail to update those dates, interns and mentors will sign an agreement with the incorrect dates, we have to delete those aigned agreements, and get all participants to re-sign them before we send them off to Conservancy.
A better way of handling dates in the internship contract would be to generate them based on the internship dates stored in the RoundPage object.
When an intern or mentor goes to sign their agreement, the Outreachy website should look up the internship and payment dates in the RoundPage associated with the internship cohort the intern is in, or the internship cohort the mentor's project is in. It should search and replace stub dates in the contract markdown, display that markdown as HTML on the contract signature page, and save the edited markdown in a SignedContract object.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The correct dates should be the same as the payment schedule in docs/internship documentation on the Outreachy website.
Testing Notes
Mentors have a different flow for signing contacts. The link is found on the project applicants page. Make sure the contract dates are displayed correctly for multiple mentors. Outreachy encourages co-mentorship, so multiple mentors can sign an agreement to mentor the same intern.