concrexit issueshttps://gitlab.science.ru.nl/thalia/concrexit/-/issues2020-02-23T15:15:36+01:00https://gitlab.science.ru.nl/thalia/concrexit/-/issues/948Member can be accepted and have paid, but status is not completed2020-02-23T15:15:36+01:00Thalia TechnicieMember can be accepted and have paid, but status is not completedThis ValueError happens sometimes while processing payments for new members or renewals. I'm not quite sure how to reproduce it, but sometimes when setting a registration or renewal to paid. The status of the renewal or registration will...This ValueError happens sometimes while processing payments for new members or renewals. I'm not quite sure how to reproduce it, but sometimes when setting a registration or renewal to paid. The status of the renewal or registration will afterwards be "Accepted" instead of "Completed", and a 500 error is shown.
Sentry Issue: [CONCREXIT-H](https://sentry.io/organizations/thalia/issues/1172358095/?referrer=gitlab_integration)
```
ValueError: The given username must be set
(19 additional frame(s) were not displayed)
...
File "registrations/signals.py", line 12, in post_payment_save
services.process_payment(instance)
File "registrations/services.py", line 414, in process_payment
member = _create_member_from_registration(registration)
File "registrations/services.py", line 286, in _create_member_from_registration
last_name=registration.last_name
File "django/contrib/auth/models.py", line 151, in create_user
return self._create_user(username, email, password, **extra_fields)
File "django/contrib/auth/models.py", line 140, in _create_user
raise ValueError('The given username must be set')
```31https://gitlab.science.ru.nl/thalia/concrexit/-/issues/706Handle re-registrations after data minimisation2020-02-04T16:22:58+01:00Sébastiaan VersteegHandle re-registrations after data minimisation### One-sentence description
Handle re-registrations after data minimisation
### Why?
Because we need to minimise data and this might cause issues with renewals in ~registrations
### Current implementation
None
### Desired impleme...### One-sentence description
Handle re-registrations after data minimisation
### Why?
Because we need to minimise data and this might cause issues with renewals in ~registrations
### Current implementation
None
### Desired implementation
Handle renewals of members of whom data was minimised by allowing them to re-enter the data.31Sébastiaan VersteegSébastiaan Versteeghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/585Improve documentation for the thabloid module2018-02-13T12:01:00+01:00Thom WiggersImprove documentation for the thabloid moduleThe ~thabloid module could use improved docs.The ~thabloid module could use improved docs.Improve documentationhttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/581Improve documentation for photos module2019-02-16T23:02:53+01:00Thom WiggersImprove documentation for photos moduleThe ~photos module could use improved docs.The ~photos module could use improved docs.Improve documentationhttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/1034Missing singlepages translations2020-03-13T16:29:15+01:00Joren VranckenMissing singlepages translations### Description
Add all missing singlepages translations.
After I run `../manage.py makemessages --locale nl --no-obsolete` in `website/singlepages` 170+ translations seem to be missing.### Description
Add all missing singlepages translations.
After I run `../manage.py makemessages --locale nl --no-obsolete` in `website/singlepages` 170+ translations seem to be missing.https://gitlab.science.ru.nl/thalia/concrexit/-/issues/1033AttributeError: 'NoneType' object has no attribute 'is_authenticated'2020-03-11T23:05:04+01:00Thalia TechnicieAttributeError: 'NoneType' object has no attribute 'is_authenticated'Sentry Issue: [CONCREXIT-2A](https://sentry.io/organizations/thalia/issues/1560438241/?referrer=gitlab_integration)
```
AttributeError: 'NoneType' object has no attribute 'is_authenticated'
(14 additional frame(s) were not displayed)
.....Sentry Issue: [CONCREXIT-2A](https://sentry.io/organizations/thalia/issues/1560438241/?referrer=gitlab_integration)
```
AttributeError: 'NoneType' object has no attribute 'is_authenticated'
(14 additional frame(s) were not displayed)
...
File "rest_framework/serializers.py", line 529, in to_representation
ret[field.field_name] = field.to_representation(attribute)
File "rest_framework/fields.py", line 1905, in to_representation
return method(value)
File "events/api/serializers.py", line 86, in _class_names
if services.is_user_registered(self.context["member"], instance):
File "events/services.py", line 24, in is_user_registered
if not event.registration_required or not member.is_authenticated:
File "django/utils/functional.py", line 225, in inner
return func(self._wrapped, *args)
```https://gitlab.science.ru.nl/thalia/concrexit/-/issues/1032Think of a way to improve partner logo's in dark mode2020-03-11T21:19:39+01:00Job DoesburgThink of a way to improve partner logo's in dark mode<!--
You want something new.
-->
### One-sentence description
Think of a way to improve partner logo's in dark mode
### Motivation
With current dark mode, some partner logo's look a bit weird
### Desired functionality
They shou...<!--
You want something new.
-->
### One-sentence description
Think of a way to improve partner logo's in dark mode
### Motivation
With current dark mode, some partner logo's look a bit weird
### Desired functionality
They should look good both in dark mode and light mode.
**Both in the banner, and in the vacancy pages**
### Suggested implementation
It is hard to do this correctly for all logo's. One way is to add a css filter in dark mode that makes the logo's more white. Another way could be to just support a dark mode and light mode logo.https://gitlab.science.ru.nl/thalia/concrexit/-/issues/1031Topic should be visible in https://thalia.nu/user/finance/payments/2020-03-11T23:54:58+01:00Job DoesburgTopic should be visible in https://thalia.nu/user/finance/payments/### One-sentence description
Topic should be visible in https://thalia.nu/user/finance/payments/
### Current behaviour / Reproducing the bug
The topic field is not visible
### Expected behaviour
Be visible### One-sentence description
Topic should be visible in https://thalia.nu/user/finance/payments/
### Current behaviour / Reproducing the bug
The topic field is not visible
### Expected behaviour
Be visiblehttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/1030Dark mode in newsletter2020-03-12T00:03:20+01:00Job DoesburgDark mode in newsletter### One-sentence description
Dark mode in newsletter
### Motivation
More dark is more better
### Desired functionality
A dark mode in newsletters, just as in the regular site
### Suggested implementation
Use the same stylesheets (...### One-sentence description
Dark mode in newsletter
### Motivation
More dark is more better
### Desired functionality
A dark mode in newsletters, just as in the regular site
### Suggested implementation
Use the same stylesheets (and svg images as well for that matter)https://gitlab.science.ru.nl/thalia/concrexit/-/issues/1029Payment fields not translated in admin2020-03-11T19:53:43+01:00Job DoesburgPayment fields not translated in admin### One-sentence description
Payment fields not translated in admin
### Current behaviour / Reproducing the bug
At (staging.)thalia.nu/admin/payments/payment/*/change, the field names are not translated
### Expected behaviour
They ...### One-sentence description
Payment fields not translated in admin
### Current behaviour / Reproducing the bug
At (staging.)thalia.nu/admin/payments/payment/*/change, the field names are not translated
### Expected behaviour
They should be translatedhttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/1028Original images in photo albums are saved and downloaded2020-03-11T23:56:39+01:00Gijs HendriksenOriginal images in photo albums are saved and downloaded### One-sentence description
<!-- What breaks -->
When downloading a photo album, both the original and downscaled images are downloaded, even though we're not supposed to save the original image.
### Current behaviour / Reproducing t...### One-sentence description
<!-- What breaks -->
When downloading a photo album, both the original and downscaled images are downloaded, even though we're not supposed to save the original image.
### Current behaviour / Reproducing the bug
<!-- Please write what is happening and how we could reproduce it, if relevant -->
1. Download a photo album
2. Notice the original images are saved and included in the album (`*.JPG`), alongside the downscaled images (`*.jpg`)
### Expected behaviour
<!-- Please write how what happened did not meet your expectations -->
1. Download a photo album
2. Only the downscaled images are saved and includedhttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/1027Website starts up in the wrong language2020-03-09T15:45:44+01:00Leon van den BoogaardWebsite starts up in the wrong language<!--
You want something new.
-->
### One-sentence description
<!-- What do you want? -->
To have a language preference in your profile so that the website starts up in your prefered language
<!-- Why should we care? -->
Every ti...<!--
You want something new.
-->
### One-sentence description
<!-- What do you want? -->
To have a language preference in your profile so that the website starts up in your prefered language
<!-- Why should we care? -->
Every time I start up the website or click on a link in the newsletter it starts up in English. I don't speak English so I would like it to start up in Dutch.
<!--
What we should support.
Please provide this in general terms, if possible.
You can provide suggestions on how to implement this later.
We like high-level descriptions as those allow us to better consider
the desired result. Assumptions on how the site works don't
necessarily match how we implemented certain things.
-->
Have a cookie or something with a long time to live so that we shouldn't click on the flag every time we use the website
<!--
If you have any notes on how we could achieve this feature,
share them here.
-->
Cookies
Thank you in advance!
Love you!https://gitlab.science.ru.nl/thalia/concrexit/-/issues/1025ValueError: day is out of range for month2020-03-04T20:22:40+01:00Thalia TechnicieValueError: day is out of range for monthSentry Issue: [CONCREXIT-24](https://sentry.io/organizations/thalia/issues/1538288408/?referrer=gitlab_integration)
```
ValueError: day is out of range for month
(11 additional frame(s) were not displayed)
...
File "rest_framework/ser...Sentry Issue: [CONCREXIT-24](https://sentry.io/organizations/thalia/issues/1538288408/?referrer=gitlab_integration)
```
ValueError: day is out of range for month
(11 additional frame(s) were not displayed)
...
File "rest_framework/serializers.py", line 260, in data
self._data = self.to_representation(self.instance)
File "rest_framework/serializers.py", line 529, in to_representation
ret[field.field_name] = field.to_representation(attribute)
File "rest_framework/fields.py", line 1905, in to_representation
return method(value)
File "members/api/serializers.py", line 93, in _achievements
return member_achievements(instance.user)
File "members/services.py", line 72, in member_achievements
earliest = earliest.replace(year=earliest.year + mentor_year.year)
```Marie SimonMarie Simonhttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/1024ProgrammingError: more than one row returned by a subquery used as an expression2020-03-01T16:38:36+01:00Thalia TechnicieProgrammingError: more than one row returned by a subquery used as an expressionSentry Issue: [CONCREXIT-27](https://sentry.io/organizations/thalia/issues/1540717591/?referrer=gitlab_integration)
```
CardinalityViolation: more than one row returned by a subquery used as an expression
File "django/db/backends/uti...Sentry Issue: [CONCREXIT-27](https://sentry.io/organizations/thalia/issues/1540717591/?referrer=gitlab_integration)
```
CardinalityViolation: more than one row returned by a subquery used as an expression
File "django/db/backends/utils.py", line 86, in _execute
return self.cursor.execute(sql, params)
ProgrammingError: more than one row returned by a subquery used as an expression
(11 additional frame(s) were not displayed)
...
File "django/db/backends/utils.py", line 68, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "django/db/backends/utils.py", line 77, in _execute_with_wrappers
return executor(sql, params, many, context)
File "django/db/backends/utils.py", line 86, in _execute
return self.cursor.execute(sql, params)
File "django/db/utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "django/db/backends/utils.py", line 86, in _execute
return self.cursor.execute(sql, params)
```https://gitlab.science.ru.nl/thalia/concrexit/-/issues/1022Add wiki page about Renovate2020-02-28T12:10:47+01:00Joren VranckenAdd wiki page about Renovate### One-sentence description
Add wiki page about Renovate.
### Why?
It is important to have documentation about the third-party applications we use.### One-sentence description
Add wiki page about Renovate.
### Why?
It is important to have documentation about the third-party applications we use.https://gitlab.science.ru.nl/thalia/concrexit/-/issues/1021Replace Docker image used by Renovate2020-02-28T12:09:51+01:00Joren VranckenReplace Docker image used by Renovate### One-sentence description
Replace Docker image used by Renovate.
### Why?
Apparently Renovate still uses [`thalia/python-thalia`](https://hub.docker.com/r/thalia/python-thalia). `thalia/python-thalia` is outdated and not automaticall...### One-sentence description
Replace Docker image used by Renovate.
### Why?
Apparently Renovate still uses [`thalia/python-thalia`](https://hub.docker.com/r/thalia/python-thalia). `thalia/python-thalia` is outdated and not automatically updated.
### Suggested implementation
Either [`renovate/python`](https://hub.docker.com/r/renovate/python) or [`thalia/concrexit-dependencies`](https://hub.docker.com/r/thalia/concrexit-dependencies).https://gitlab.science.ru.nl/thalia/concrexit/-/issues/1020Do not use hardcoded colors for calendar API2020-03-04T17:06:42+01:00Job DoesburgDo not use hardcoded colors for calendar API<!--
This template is for changes that do not affect the behaviour of the website.
** If you are not in the Technicie, there is a very high chance that you
should not use this template
Examples:
* Changes in CI...<!--
This template is for changes that do not affect the behaviour of the website.
** If you are not in the Technicie, there is a very high chance that you
should not use this template
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
Do not use hardcoded colors for calendar API in `website/members/api/serializers.py` r42-49 and `website/events/api/serializers.py`
### Why?
We shouldn't hardcode these things at the API level but provide them using CSS.
### Current implementation
The API provides a `backgroundColor` and `textColor` in the event sources APIs that is used by FullCalendar via https://fullcalendar.io/docs/events-json-feed. Every item in the feed is an event source object: https://fullcalendar.io/docs/event-source-object.
### Suggested implementation
Provide a `className` attribute instead and determine the background color and text color based on the class using CSS.Marthijn van den NieuwenhuizenMarthijn van den Nieuwenhuizenhttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/1019Move business logic of notifications out of models2020-02-23T16:30:42+01:00Sébastiaan VersteegMove business logic of notifications out of models<!--
This template is for changes that do not affect the behaviour of the website.
** If you are not in the Technicie, there is a very high chance that you
should not use this template
Examples:
* Changes in CI...<!--
This template is for changes that do not affect the behaviour of the website.
** If you are not in the Technicie, there is a very high chance that you
should not use this template
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
Move business logic of notifications out of models
### Why?
Clean up the models
### Current implementation
Code in the models (mostly events)
### Suggested implementation
Use signalsSébastiaan VersteegSébastiaan Versteeghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/1017Remove redundant html templates from `/thaliawebsite/templates/singlepages/`2020-03-13T16:29:15+01:00Job DoesburgRemove redundant html templates from `/thaliawebsite/templates/singlepages/`<!--
This template is for changes that do not affect the behaviour of the website.
** If you are not in the Technicie, there is a very high chance that you
should not use this template
Examples:
* Changes in CI...<!--
This template is for changes that do not affect the behaviour of the website.
** If you are not in the Technicie, there is a very high chance that you
should not use this template
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
Remove redundant html templates from `/thaliawebsite/templates/singlepages/`
### Why?
They are redundant, since they are also in `/singlepages/templates` and these are the ones that are used.
### Current implementation
It appears as if the translations are still in `/thaliawebsite` though, so it would probably be nice to move these.
### Suggested implementationMarthijn van den NieuwenhuizenMarthijn van den Nieuwenhuizenhttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/1016Event looks like registered for though on waiting list2020-02-17T21:55:37+01:00Job DoesburgEvent looks like registered for though on waiting list### One-sentence description
When on the waiting list for an event, it still looks like you are registered for that event.
### Current behaviour / Reproducing the bug
- In the calendar stream, the event does appear in your calendar
- ...### One-sentence description
When on the waiting list for an event, it still looks like you are registered for that event.
### Current behaviour / Reproducing the bug
- In the calendar stream, the event does appear in your calendar
- Cancelling your registration does show the warning that you have to pay a fine, if after the unregistration deadline
- In the event overview calendar, the dot in front of the event is colored as if you are registered.
### Expected behaviour
- Do not appear in the calendar stream
- Do not show a message that you cannot unregister without having to pay a fine, but something different more fit to the situation
- In the event overview, show some other, pending-ish, colored dot.