Nico Athanassiadis 5820a87fd6 Resubmission of final thesis should show correct date
If an examiner rejected a final thesis and the author resubmitted a thesis
to his supervisor so it can be sent to the examiner for a new round. When
that happened the feedback to the author was wrong, after a resubmission was
made and sent to the examiner the first thesis date 'Submitted to examiner' was
shown. This caused a lot of confusion. This happened because after the rejection
the date for when it was submitted to the examiner was not reset.

Now the date is reset and the feedback loop regarding dates is the same as when they first
send in their final thesis. In other words, when they resubmit their thesis they will not
see a 'Submitted to examiner' date until the supervisor actually resends the thesis to the
examiner. Then the date feedback will show up for the author with the correct date it was sent
to the examiner.
2025-02-19 08:45:49 +01:00
2013-10-10 11:16:14 +09:00
2015-02-05 15:56:03 +01:00
2024-10-30 10:19:50 +01:00
2024-10-30 10:19:50 +01:00
2025-02-06 14:10:30 +01:00

Working with the web GUI (Wicket)

The web GUI is protected by OAuth 2 log in. Run the Docker Compose containers with docker compose up to start the authorization server to be able to log in.

If you run SciPro in development mode (DEV profile) you will be able to log in as the "default" OAuth 2 user populated in the upper form. If you have other data in your database you will have to use the lower form and specify a valid username in the principal field.

Working with the API

The API is protected by OAuth 2 acting as a resource server verifying tokens using token introspection.

When developing it uses a locally running instance of an authorization server that is run inside Docker. It can be started with docker compose -f docker-compose.yml up. Since there is no frontend to interact with the authorization server there's a helper script in GetToken.java that can be run directly with java GetToken.java to run through the authorization flow and get an access token.

Once the token has been obtained go to the Swagger UI to interact with the API. Click the "Authorize" button in the top right and paste the access token to log in.

Code formatting

This project uses prettier-java to format all Java code. To reformat the code run ./mvnw validate frontend:npm@reformat -pl .. Yes it's a mouthful but unfortunately the prettier-maven-plugin does not work due to an outstanding issue.

The formatting is validated by CI, but you should do it beforehand with a simple ./mvnw verify -pl ..

Making IntelliJ format for you

For this to work you also need to have Node.js installed and configured under Settings -> Language & Frameworks -> Node.js and the file you're saving must be able to compile otherwise no formatting can be performed.

Go to Settings -> Language & Frameworks -> JavaScript -> Prettier and then check Automatic Prettier Configuration, set Run for files to **/*.{java}, and finally check Run on save.

Test servers

All pull requests are automatically deployed to a test server. The URL to the test server will be posted as a comment in the pull request once deployed.

Prepare test data in the DataInitializer class to help others test your changes. Document (in the pull request) which users to log in as and what to do to see the changes.

If you want to reset the data to its original state you can re-run the "deploy-branch.yaml" workflow at https://gitea.dsv.su.se/DMC/scipro/actions for the branch you want to reset.

Description
No description provided
Readme 73 MiB
Languages
Java 91%
HTML 8.6%
CSS 0.3%
JavaScript 0.1%