18339 Commits

Author SHA1 Message Date
ccac2c1cf8 Enable creating an API using Spring Web (#5)
All checks were successful
Build and test / build-and-test (push) Successful in 6m54s
SciPro will have to provide information to the upcoming student portal. Wicket does not have the ability to serve JSON in the usual REST way and is only able to serve HTML. The most common way to write JSON over HTTP API:s in Java is using Spring Web, but currently SciPro uses Guice for dependency injection rather than Spring which makes adding Spring Web a bit more tricky.

This pull request attempts to solve this by doing the following;
* Replacing Guice with Spring
* Adding a new API module that uses Spring Web
* Turning the entire system into a standard Spring Boot web application

The hope is that these changes will bring the following benefits;
* Harmonize our web stack (Daisy uses Spring and the new lecture hall system is full Spring Boot)
* Enable easy development of a traditional JSON over HTTP API
* Ease future recruitment by using the most common Java web frameworks

Reviewed-on: #5
Reviewed-by: niat8586 <nico@dsv.su.se>
Co-authored-by: Andreas Svanberg <andreass@dsv.su.se>
Co-committed-by: Andreas Svanberg <andreass@dsv.su.se>
2024-11-06 11:23:28 +01:00
Jenkins
fe10101bc5 Merge commit 'ad770853563a210d9360dba45f2f6a56c9602e64' into HEAD
All checks were successful
Build and test / build-and-test (push) Successful in 13m57s
release-288
2024-10-30 19:54:08 +01:00
ad77085356 Build and test on each push (#9)
All checks were successful
Build and test / build-and-test (push) Successful in 7m1s
Adds an indicator to every commit and pull request that shows if every test passes.

Uses [Maven Wrapper](https://maven.apache.org/wrapper/) instead of relying on a system wide available `mvn` command. This ensures a stable build environment with a set version of Maven.

Co-authored-by: niat8586 <nico@dsv.su.se>
Reviewed-on: #9
Reviewed-by: niat8586 <nico@dsv.su.se>
Co-authored-by: Andreas Svanberg <andreass@dsv.su.se>
Co-committed-by: Andreas Svanberg <andreass@dsv.su.se>
2024-10-30 10:19:50 +01:00
e18af72336 Allows admins to manage grading report templates (#14)
# Manage grading report templates
Every once in a while the criteria used to asses theses and individual performance changes. When this happens the criteria in SciPro needs to be updated.

Up until now there has not been a GUI to do this and it has instead been done manually, sometimes using database migrations. It was also time-sensitive since there was only ever one template (per project type) in SciPro such that the change had to happen at the correct time when the new template was to take effect.

There was also the question of how to calculate the grade the author should receive based on the point sum from the supervisors assessment of all the criteria and these limits were hard-coded in the system.

These changes address all of the above;
 * There can be multiple templates per type.
 * Each template has a period during which it is are current.
 * Each template has defined the conversion of point sums to grades.

The periods can not overlap and a template remains current from its start date until another template's start date is reached. There can not be two templates (within a project type) that become valid on the same date.

## How to test
 1. Log in as administrator
 2. Go to "Project management"
 3. Go to "Grading templates"
 4. Create/edit new templates
 5. View current template

Card 3482

Co-authored-by: niat8586 <nico@dsv.su.se>
Reviewed-on: #14
Reviewed-by: niat8586 <nico@dsv.su.se>
Co-authored-by: Andreas Svanberg <andreass@dsv.su.se>
Co-committed-by: Andreas Svanberg <andreass@dsv.su.se>
2024-10-30 10:05:22 +01:00
d8e4f0dd22 Stop confusing Spring Boot with copied classes
These classes were copied from Spring Data a long time ago. Their existence on the class path confuses Spring Boot into thinking we use Spring Data JPA which we do not.
2024-10-28 14:02:31 +01:00
Jenkins
28f2d65e23 Merge commit 'e3003231357843a9d1f0ec30d88ad98118454b93' into HEAD release-287 2024-07-26 00:08:55 +02:00
e300323135 Update pom.xml (#10)
changed the wicket version due to security scan

Reviewed-on: #10
Reviewed-by: niat8586 <nico@dsv.su.se>
Co-authored-by: wwest <wayne@dsv.su.se>
Co-committed-by: wwest <wayne@dsv.su.se>
2024-07-25 14:20:24 +02:00
949de4a260 Allow supervisors to write a note associated with their projects (#8)
There is a need among supervisors to maintain some work notes for each project. Where they are in the process, what students need to do, and other such things.

This PR gives the supervisors the ability to write a note for each project on their overview page.

Card 3399

Reviewed-on: DSV/scipro#8
Reviewed-by: niat8586 <nico@dsv.su.se>
2024-07-10 13:43:27 +02:00
4dc0ba32d0 Enable supervisors to get an overview of forum activity (#3)
Their project overview page now include a column indicating if any thread in that forum has an unread post and it also acts as a quick link directly to the forum.

Fixes #2
Card 3399

Reviewed-on: DSV/scipro#3
Reviewed-by: niat8586 <nico@dsv.su.se>
Co-authored-by: Andreas Svanberg <andreass@dsv.su.se>
Co-committed-by: Andreas Svanberg <andreass@dsv.su.se>
2024-07-10 13:18:20 +02:00
Jenkins
c02482c363 Merge commit 'eccf6937a3db85417dd8f2a24453cf45bb7764c1' into HEAD release-284 2024-05-31 22:54:07 +02:00
eccf6937a3 3380 Specify information URL about the review process for reviewers
Administrators want to inform the reviewers what dates are important during the thesis writing process.

They can now configure an information URL for each type of project under "Admin / System / Type settings" that is shown to the reviewers as they review projects.
2024-05-27 16:35:30 +02:00
663b92eb3b 3380 Specify information URL about the review process for supervisors
Administrators want to inform the supervisors how the reviewers are assigned and what dates are important during the thesis writing process.

They can now configure an information URL for each type of project under "Admin / System / Type settings" that is shown to the supervisors as they enter the review process.
2024-05-27 16:29:23 +02:00
da842a9fd2 3380 Made it possible to edit minimum/maximum authors
There has always been a minimum and maximum limit on the number of authors per project type, it was just never configurable. Made them configurable while working on the panel.
2024-05-27 16:04:09 +02:00
a48dccc4cd Merge branch 'bugfix/3372-link' into develop 2024-05-23 12:02:44 +02:00
0c06dbd6a3 3392 Multiple reviews on the same project should not fulfil multiple targets
Targets set by administrators are based on how many projects the reviewer gets assigned. If there are multiple reviews on a single project due to rejecting earlier versions the reviewer does not get more time.
2024-05-22 12:49:15 +02:00
58cd2003a7 3392 Refactoring 2024-05-22 12:38:57 +02:00
a79ee20cba 3392 Failing test 2024-05-22 12:35:50 +02:00
325b93ce3d 3391 Fix warning 2024-05-22 10:45:29 +02:00
6c0cf8a42f bugfix/3372-link: Complement allowed characters in forum links with exlamation mark. 2024-05-17 15:30:16 +02:00
Jenkins
35ba824a6c Merge commit 'e8e8bf8a683c9fee0d9b08fe797201aa2a8a3970' into HEAD release-283 2024-05-07 21:54:09 +02:00
e8e8bf8a68 3376 Upgrade Hibernate 2024-05-07 12:23:48 +02:00
a6d2502ebb 3381 Fix NPE when supervisors fill in individual criteria before final thesis is uploaded 2024-05-03 15:11:13 +02:00
8ccd6156b7 Fix table casing 2024-05-02 10:17:50 +02:00
9c78d9a648 Merge remote-tracking branch 'refs/remotes/origin/wicket-10' into develop 2024-04-26 10:10:24 +02:00
aa469a425b Fixed warning/error due to difference in name resolution between IntelliJ and Hibernate. 2024-04-26 10:07:54 +02:00
f5950a43ba 3126 Remove possibility to reply to forum posts via e-mail
Unused feature that caused issues with repeated posts.
2024-04-26 10:05:30 +02:00
Jenkins
da6d4ee13f Merge commit 'bd90b34c42bdd5f55ae296f32d978e3224535c17' into HEAD release-282 2024-04-25 12:39:09 +02:00
bd90b34c42 Fix URKUND integration with new Guice UnitOfWork changes
Can not fetch the settings from the authenticator since that is ran on a HTTP request dispatching thread where no UnitOfWork has started.It is not possible to fetch the credentials in the constructor since then it would not be possible to change the settings while the system is running. Instead recreate the client with prefetched credentials on every request.
2024-04-25 09:51:51 +02:00
Jenkins
2113ab5339 Merge commit '5c78a698f9ef5dfbd5d01671a9dedcf5aade5fd3' into HEAD release-281 2024-04-24 22:55:09 +02:00
43516dba16 3275 orangemarkera två flikar i "finishing up" när man hovrar med musen 2024-04-24 16:43:03 +02:00
5c78a698f9 Wicket 10 downgraded the version so the security vulnerability popped up again 2024-04-24 14:53:57 +02:00
Jenkins
3bd63bd0f5 Merge commit '28bc8bf05ab5823acfaa3e87923fbf6bc7381d4a' into HEAD release-280 2024-04-24 14:18:39 +02:00
28bc8bf05a Merge branch 'wicket-10' into develop 2024-04-24 12:26:11 +02:00
29d8acf4d5 3361 Fix simultaneous requests to open the same checklist
What happens in there are simultaneous requests to open a checklist.
Both threads will read the checklist from the database, and since it
is versioned they will both get version N.
Then both threads will try to update the last open date and save the
checklist. When saving a versioned object a SQL query of the form
UPDATE checklist SET version = N+1 WHERE id = ? AND version = N
is generated, the first such query will succeed but the second one
will not update any row which Hibernate treats as an optimistic
locking error.
To work around this we use a global lock to ensure that only one
thread can update the checklist at a time. We can't use the
EntityManagers lock method since that too will cause an optimistic
locking failure. This is an unfortunate global lock that will affect
everyone even if they open different checklist, but it is such an
underused feature that it should not be a problem.
2024-04-22 15:28:08 +02:00
7e0d0a8558 3351 Downgrade servlet to match version used by Tomcat 2024-04-22 12:39:32 +02:00
c376554530 Merge branch 'develop' into wicket-10
# Conflicts:
#	pom.xml
2024-04-22 12:35:23 +02:00
0ebd179201 Upgrade Jackson and Jersey 2024-04-22 12:18:12 +02:00
d440956525 3351 Wicket uses ByteBuddy by default now 2024-04-22 10:38:43 +02:00
0c9b167100 3351 Wicketstuff 10 released 2024-04-22 10:20:21 +02:00
db0c36234a Merge branch 'develop' into wicket-10 2024-04-22 09:41:47 +02:00
9654fea439 Supress bogus security vulnerability 2024-04-22 09:30:47 +02:00
Jenkins
506f32487b Merge commit 'fea88cfcc6323b01a45284e00b174b29d742a507' into HEAD release-279 2024-04-18 11:55:09 +02:00
fea88cfcc6 3207 Disabling the button will break Wickets specific submit button behavior. Disable buttons with CSS instead 2024-04-18 09:57:24 +02:00
Jenkins
0a46e2a9c9 Merge commit '9b69fca5beb9fdc98343682ac0009679729f9d77' into HEAD release-278 2024-04-16 21:41:20 +02:00
9b69fca5be Merge remote-tracking branch 'origin/develop' into develop 2024-04-16 21:31:29 +02:00
fb39fa9c64 3359 Bristande info under Final thesis and reflection 2024-04-16 21:31:12 +02:00
5a20a863d0 3207 TR 2024-04-16 14:17:07 +02:00
42cd644e74 Merge branch 'develop' into wicket-10
# Conflicts:
#	view/src/main/java/se/su/dsv/scipro/supervisor/pages/SupervisorViewGroupThreadPage.java
2024-04-16 14:13:03 +02:00
f1187390ff 3368 3369 Suppress nonsense vulnerabilities 2024-04-16 13:22:37 +02:00
2d7b032219 Clean up 2024-04-16 13:21:03 +02:00