concrexit issueshttps://gitlab.science.ru.nl/thalia/concrexit/-/issues2019-08-04T18:46:25+02:00https://gitlab.science.ru.nl/thalia/concrexit/-/issues/875Use Firebase SDK batch sending2019-08-04T18:46:25+02:00Sébastiaan VersteegUse Firebase SDK batch sending<!--
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
<!-- Please provide a brief description of the issue. Don't go into specifics. -->
### Why?
Because it wasn't possible before: https://firebase.google.com/support/release-notes/admin/python#version_2170_-_may_23_2019
### Current implementation
No batch sending: https://gitlab.science.ru.nl/thalia/concrexit/blob/master/website/pushnotifications/models.py#L172
### Suggested implementation
Batch sending using the new API.https://gitlab.science.ru.nl/thalia/concrexit/-/issues/869Improve categories2019-08-28T20:01:52+02:00Sébastiaan VersteegImprove categories### One-sentence description
Improve categories
### Why?
Because it's not really useful right now, everything is marked as 'Other'
### Current implementation
- Drinks
- Activity
- Lunch Lecture
- General Meeting
- Workshop
- Alumni
...### One-sentence description
Improve categories
### Why?
Because it's not really useful right now, everything is marked as 'Other'
### Current implementation
- Drinks
- Activity
- Lunch Lecture
- General Meeting
- Workshop
- Alumni
- Party
- Other
### Suggested implementation
- Alumni (old: Alumni)
- Education (old: Workshop + Lunch Lecture)
- Career (some workshops should go here, manual intervention)
- Leisure (old: Drinks + Party, now also: paintball + lasertag etc)
- Association Affairs (old: GM, now also: SNIC info meeting, board interest meetings) (Verenigingszaken)
- Other (old: Other + Activity)
Important: this requires migrations to changes the categories of existing events to the new ones!26Sébastiaan VersteegSébastiaan Versteeghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/864Update Poetry.lock and check urllib3 version2019-04-24T21:25:11+02:00Sébastiaan VersteegUpdate Poetry.lock and check urllib3 version### One-sentence description
Update Poetry.lock and check urllib3 version
### Why?
https://nvd.nist.gov/vuln/detail/CVE-2019-11324
If you want to know why this is so important, we really only use requests (which uses urllib3) in one p...### One-sentence description
Update Poetry.lock and check urllib3 version
### Why?
https://nvd.nist.gov/vuln/detail/CVE-2019-11324
If you want to know why this is so important, we really only use requests (which uses urllib3) in one place: Conscribo sync.24https://gitlab.science.ru.nl/thalia/concrexit/-/issues/855Update to Django 2.22019-04-24T19:39:49+02:00Sébastiaan VersteegUpdate to Django 2.2<!--
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
Update to Django 2.2
### Why?
Newer version
### Current implementation
Django 2.1
### Suggested implementation
Django 2.2 https://www.djangoproject.com/weblog/2019/apr/01/django-22-released/24Sébastiaan VersteegSébastiaan Versteeghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/844Re-implement the way we handle mailinglist aliases2019-09-18T21:05:41+02:00Sébastiaan VersteegRe-implement the way we handle mailinglist aliases<!--
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
Re-implement the way we handle mailinglist aliases
### Why?
Decrease workload on server
### Current implementation
All aliases are handled as separate mailinglists and synced like so. If an email gets sent to an alias of a mailinglist the message doesn't end up in the main mailinglist archive.
### Suggested implementation
The alias should redirect incoming email to the main mailinglist without additions or archiving. This should speed up the syncing of mailinglists as well.https://gitlab.science.ru.nl/thalia/concrexit/-/issues/831Run collectstatic, migrate and compress in entrypoint2019-02-22T17:20:30+01:00Joren VranckenRun collectstatic, migrate and compress in entrypoint<!--
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
<!-- Please provide a brief description of the issue. Don't go into specifics. -->
Run `collectstatic`, `migrate` and `compress` in the Docker entrypoints.
### Why?
<!-- Please motivate why we should invest into this change -->
At the moment they need to be run manually. In #serverconfig we have a bit of [a hacky script](https://gitlab.science.ru.nl/thalia/serverconfig/blob/master/roles/concrexit/templates/migrate.sh.j2) that runs the (using a none production entrypoint) commands.Joren VranckenJoren Vranckenhttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/829Switch to Poetry2019-02-27T19:29:01+01:00Sébastiaan VersteegSwitch to Poetry<!--
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
Switch to Poetry
### Why?
Because we're hipsters. (no we think it is better)
### Current implementation
Pipenv
### Suggested implementation
PoetryJelle Besselingjelle@pingiun.comJelle Besselingjelle@pingiun.comhttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/826Follow-up from "Thumbnailing refactor"2019-02-13T19:04:46+01:00Thom WiggersFollow-up from "Thumbnailing refactor"The following discussion from !1155 should be addressed:
- [ ] @jbesseling started a [discussion](https://gitlab.science.ru.nl/thalia/concrexit/merge_requests/1155#note_65798): (+3 comments)
> Wouldn't it be better to add these do...The following discussion from !1155 should be addressed:
- [ ] @jbesseling started a [discussion](https://gitlab.science.ru.nl/thalia/concrexit/merge_requests/1155#note_65798): (+3 comments)
> Wouldn't it be better to add these docs to `docs/utils.media.rst`?Sébastiaan VersteegSébastiaan Versteeghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/804Use same JQuery tablesorter library everywhere.2019-01-30T18:58:06+01:00Joren VranckenUse same JQuery tablesorter library everywhere.<!--
This template is for changes that do not affect the behaviour of the website.
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
<!-- Please pr...<!--
This template is for changes that do not affect the behaviour of the website.
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
<!-- Please provide a brief description of the issue. Don't go into specifics. -->
Use same JQuery tablesorter library everywhere.
### Why?
<!-- Please motivate why we should invest into this change -->
It would be better to use the same library everywhere.
### Current implementation
<!-- If relevant, describe how it's done currently -->
* The event backend uses [christianbach/tablesorter](https://github.com/christianbach/tablesorter).
* The pizza frontend uses [kylefox/jquery-tablesort](https://github.com/kylefox/jquery-tablesort).
### Suggested implementation
<!-- Provide (a) suggestion(s) for how we could approach this -->
Use [Mottie/tablesorter](https://github.com/Mottie/tablesorter). [Mottie/tablesorter](https://github.com/Mottie/tablesorter) is a fork of [christianbach/tablesorter](https://github.com/christianbach/tablesorter) with some nice added features (for example no more `eval()` usage).Sébastiaan VersteegSébastiaan Versteeghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/799Weird text in email after moving from waiting list after unregistration deadl...2019-01-05T19:09:56+01:00Job DoesburgWeird text in email after moving from waiting list after unregistration deadline has passed.<!--
This template is for changes that do not affect the behaviour of the website.
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
Members recei...<!--
This template is for changes that do not affect the behaviour of the website.
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
Members receive a weird email when they move from the waiting list when someone unregistered after the deadline
### Why?
Currently people receive a text saying that if they want, they can unregister via the website until some moment in the past. This is weird. It would be nice to say that 'the unregistration deadline has passed. However if you're not able to come, please contact somebody from the committee or the board asap'.
### Current implementation
An email is sent to people moving from the waiting list, saying that if they want they can unregister until a moment in the past
### Suggested implementation
After the unregistration deadline has passed, mention that they should contact the organizing committee or board.Sébastiaan VersteegSébastiaan Versteeghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/798latest docker tag is not a stable build2018-12-14T16:43:03+01:00Joren Vranckenlatest docker tag is not a stable build<!--
This template is for changes that do not affect the behaviour of the website.
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
<!-- Please p...<!--
This template is for changes that do not affect the behaviour of the website.
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
<!-- Please provide a brief description of the issue. Don't go into specifics. -->
The `latest` docker tag should be a stable build.
### Why?
<!-- Please motivate why we should invest into this change -->
The `latest` docker tag is the last pushed commit to any MR. It is better if `latest` is the last stable build (last git tag).
### Current implementation
<!-- If relevant, describe how it's done currently -->
The `latest` docker tag is the last pushed commit.
### Suggested implementation
<!-- Provide (a) suggestion(s) for how we could approach this -->
Only push to `latest` if a git tag is build.https://gitlab.science.ru.nl/thalia/concrexit/-/issues/770Push docker images to docker hub2018-12-14T16:08:57+01:00Joren VranckenPush docker images to docker hub<!--
This template is for changes that do not affect the behaviour of the website.
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
<!-- Please p...<!--
This template is for changes that do not affect the behaviour of the website.
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
<!-- Please provide a brief description of the issue. Don't go into specifics. -->
Push docker images to docker hub
### Why?
<!-- Please motivate why we should invest into this change -->
Two reasons:
* All our other docker images can be found on [Docker Hub](https://hub.docker.com/u/thalia/dashboard/)
* Now we are public, we do not need the authentication of the Gitlab Registry.
### Current implementation
<!-- If relevant, describe how it's done currently -->
We push to the Gitlab registry.https://gitlab.science.ru.nl/thalia/concrexit/-/issues/766Remove usage of Celery for push notifications2018-11-28T18:52:23+01:00Sébastiaan VersteegRemove usage of Celery for push notifications### One-sentence description
Remove usage of Celery for push notifications
### Why?
Celery is not performing as expected.
### Current implementation
Celery is used to schedule push notifications
### Suggested implementation
Use a ...### One-sentence description
Remove usage of Celery for push notifications
### Why?
Celery is not performing as expected.
### Current implementation
Celery is used to schedule push notifications
### Suggested implementation
Use a management command and cronjob instead20Sébastiaan VersteegSébastiaan Versteeghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/759Move the events admin views to the admin model2018-11-29T00:04:37+01:00Sébastiaan VersteegMove the events admin views to the admin model### One-sentence description
Move the events admin views to the admin model
### Why?
It improves our codebase
### Current implementation
We have a `admin_views.py` and `admin.py`. The admin views are routed through `urls.py`, not the a...### One-sentence description
Move the events admin views to the admin model
### Why?
It improves our codebase
### Current implementation
We have a `admin_views.py` and `admin.py`. The admin views are routed through `urls.py`, not the admin.
### Suggested implementation
Override the url config of the model admin used for events to add our custom views. Just like here: https://docs.djangoproject.com/en/2.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_urls20Sébastiaan VersteegSébastiaan Versteeghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/758Sentry has a new SDK2018-11-29T07:32:39+01:00Thom WiggersSentry has a new SDK<!--
This template is for changes that do not affect the behaviour of the website.
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
Raven is depr...<!--
This template is for changes that do not affect the behaviour of the website.
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
Raven is deprecated and they now have `sentry-sdk`.
https://docs.sentry.io/quickstart?platform=python
https://docs.sentry.io/platforms/python/django/
### Why?
Shiny features probably won't end up in Raven. Also it seems like it's easier to configure.20Sébastiaan VersteegSébastiaan Versteeghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/757Switch to Firebase Admin SDK for push notifications2018-11-28T18:52:23+01:00Sébastiaan VersteegSwitch to Firebase Admin SDK for push notifications### One-sentence description
Switch to Firebase Admin SDK for push notifications
### Why?
Possible deprecation of a used package.
### Current implementation
We're currently using [pyFCM](https://github.com/olucurious/PyFCM/) which i...### One-sentence description
Switch to Firebase Admin SDK for push notifications
### Why?
Possible deprecation of a used package.
### Current implementation
We're currently using [pyFCM](https://github.com/olucurious/PyFCM/) which is using an older version of the Firebase Cloud Messaging APIs. There is a newer API (FCM v1) which has not been implemented.
### Suggested implementation
Use the Firebase Admin SDK to communicate with the Firebase servers and send messages.
https://firebase.google.com/docs/admin/setup
This package is also open source and is maintained by Firebase/Google instead of being a community project.20Sébastiaan VersteegSébastiaan Versteeghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/746Registration front-end notice for address formatting2018-11-05T11:54:03+01:00Job DoesburgRegistration front-end notice for address formatting<!--
This template is for changes that do not affect the behaviour of the website.
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
Show notice f...<!--
This template is for changes that do not affect the behaviour of the website.
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
Show notice for address formatting on thalia registrations page in front end.
### Why?
For international student from, i.e. Great-Britain, address formatting is weird. They put the house number in front. Now this produces an unclear error message.
### Current implementation
An unclear error message
### Suggested implementation
Either a clear error message (or example how you should format your address), or acceptance of more ways of formatting.Thom WiggersThom Wiggershttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/745Thalia Identity guidelines applied in Django backend2019-12-04T19:25:32+01:00Job DoesburgThalia Identity guidelines applied in Django backend<!--
This template is for changes that do not affect the behaviour of the website.
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
Thalia Identi...<!--
This template is for changes that do not affect the behaviour of the website.
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
Thalia Identity guidelines applied in Django backend
### Why?
More 'huisstijl' more better
### Current implementation
Thalia admin is ugly blue-ish.
### Suggested implementation
This could be nice magenta #E62272 and black. Just a CSS thingy I think.Job DoesburgJob Doesburghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/742Society members front-end link to profilepage2018-10-22T19:07:31+02:00Job DoesburgSociety members front-end link to profilepage<!--
This template is for changes that do not affect the behaviour of the website.
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
Make the link...<!--
This template is for changes that do not affect the behaviour of the website.
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
Make the link from members of a society in the front-end, link to their profile page rather than the society page.
### Why?
It is more intuitive and it works the same way for committee members.
### Current implementation
When you click on a society member in the front-end, you're redirected to the (same) society page.
### Suggested implementation
Be redirected to the member profile pagehttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/741Make payments linkable to registration2018-10-22T19:08:51+02:00Job DoesburgMake payments linkable to registration<!--
This template is for changes that do not affect the behaviour of the website.
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
Make payments...<!--
This template is for changes that do not affect the behaviour of the website.
Examples:
* Changes in CI
* Refactoring of code
* Technicie-facing documentation
-->
### One-sentence description
Make payments linkable to registration
### Why?
When checking payments, you can only see a 'payment' object but apart from that they have no real use. However sometimes it really is useful to check all payments done on a certain day.
### Current implementation
The current implementation of payments shows payment objects. However when in a payment object, you can't easily go back to the registration that is connected to the Payment object.
### Suggested implementation
Being able to see the registration that the payment was connected to.