concrexit issueshttps://gitlab.science.ru.nl/thalia/concrexit/-/issues2020-02-29T11:43:48+01:00https://gitlab.science.ru.nl/thalia/concrexit/-/issues/1023Add wiki page about Concrexit Docker images2020-02-29T11:43:48+01:00Joren VranckenAdd wiki page about Concrexit Docker images### One-sentence description
Explain how the current Concrexit Docker images are built and what they are used for.### One-sentence description
Explain how the current Concrexit Docker images are built and what they are used for.Joren VranckenJoren Vranckenhttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/1010Create Payable interface2020-03-04T19:09:01+01:00Job DoesburgCreate Payable interface### One-sentence description
Create a Payable interface to be used for all models that use Payments
### Why?
To prevent code duplication and improve testing
### Current implementation
Shitty, chaotic, anarchy, tears
### Suggested i...### One-sentence description
Create a Payable interface to be used for all models that use Payments
### Why?
To prevent code duplication and improve testing
### Current implementation
Shitty, chaotic, anarchy, tears
### Suggested implementation
Payable abstract class with `@property @abstractmethod`s:
- `payment_amount` as the amount of the payment
- `payment_topic` as the grouping key for the type of payment (ledger information)
- `payment_notes` for the user specific details
- `payment_payer` for the user paying
Payments must then have a constructor `create_payment` that takes as arguments:
- a `Payable` object
- a payment `processor` that is the person that processes the payment
- the payment `type` being either thalia pay, card, cash or wire transfer (no None anymore!)Sébastiaan VersteegSébastiaan Versteeghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/997Review url is not clear from CI logs2020-01-23T19:48:00+01:00Joren VranckenReview url is not clear from CI logs### One-sentence description
Review Host url is not clear from CI logs.
### Current implementation
The username and password are shown to the user, but not the url to the review environment.### One-sentence description
Review Host url is not clear from CI logs.
### Current implementation
The username and password are shown to the user, but not the url to the review environment.Joren VranckenJoren Vranckenhttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/994Improve messages for exam/summary upload2020-01-21T09:03:42+01:00Sébastiaan VersteegImprove messages for exam/summary upload### One-sentence description
Improve messages for exam/summary upload
### Why?
They're unclear?. It does not say that the exam will be added to the approval queue. And that causes confusion because people often upload the document ag...### One-sentence description
Improve messages for exam/summary upload
### Why?
They're unclear?. It does not say that the exam will be added to the approval queue. And that causes confusion because people often upload the document again.
Edit: I did not get any messages at all.
(Maybe we could even make the approval queue crowd sourced so that everyone can approve documents that are not their own? Although that may not work because you can get money for summaries)https://gitlab.science.ru.nl/thalia/concrexit/-/issues/985Add link to the G Suite Knowledge Base2020-02-19T19:55:43+01:00Joren VranckenAdd link to the G Suite Knowledge Base<!--
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
Add link to the [G Suite Knowledge Base](https://gsuite.members.thalia.nu/) in the "for members" menu.https://gitlab.science.ru.nl/thalia/concrexit/-/issues/983Update members translations2020-01-29T21:21:15+01:00Joren VranckenUpdate members translations### One-sentence description
Add the missing translations and update translations with mismatched punctuation/capitals (e.g. "Address:" and "adres") in the members app.### One-sentence description
Add the missing translations and update translations with mismatched punctuation/capitals (e.g. "Address:" and "adres") in the members app.https://gitlab.science.ru.nl/thalia/concrexit/-/issues/970Update to Django 32020-02-19T20:02:34+01:00Joren VranckenUpdate to Django 3### Description
<!-- Please motivate why we should invest into this change -->
Django 3 has been [released](https://docs.djangoproject.com/en/3.0/releases/3.0/).### Description
<!-- Please motivate why we should invest into this change -->
Django 3 has been [released](https://docs.djangoproject.com/en/3.0/releases/3.0/).https://gitlab.science.ru.nl/thalia/concrexit/-/issues/959API authentication returns 400 when providing the wrong credentials2019-11-06T20:58:05+01:00Gijs HendriksenAPI authentication returns 400 when providing the wrong credentials<!--
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. -->
The API `/token-auth/` returns a 400 status code when the user passed incorrect credentials, which makes it unclear why the request was denied.
### Why?
<!-- Please motivate why we should invest into this change -->
To make use of the correct HTTP status code, which could clarify the reason an authentication request was denied.
### Current implementation
<!-- If relevant, describe how it's done currently -->
`/token-auth/` returns a 400 when providing incorrect credentials
### Suggested implementation
<!-- Provide (a) suggestion(s) for how we could approach this -->
`/token-auth/` returns a 401(?) when providing incorrect credentialsSimcha van CollemSimcha van Collemhttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/957Logging format is not informative2019-11-13T21:56:37+01:00Jelle Besselingjelle@pingiun.comLogging format is not informative### One-sentence description
Both logfile logging and console logging are not very informative, for different reasons.
### Why?
Because `logfile` logging has no format, only the message is printed without any context. `logfile` and `c...### One-sentence description
Both logfile logging and console logging are not very informative, for different reasons.
### Why?
Because `logfile` logging has no format, only the message is printed without any context. `logfile` and `console` could both use the same logging format.
The `%(module)s` logging attribute does not print the fully qualified module name, just the top level name. This would be `urls` for the `education.urls` package. Instead the `%(name)s` attribute could be used, which will give the fully qualified package name when used in conjunction with `logging.getLogger(__name__)` (which we do everywhere already).
Furthermore we could drop `%(process)d` and `%(thread)d`, as we will probably never use those. Lastly, having the log level next to the message would make more sense, as in `INFO The message`, because that seems easier to read.Jelle Besselingjelle@pingiun.comJelle Besselingjelle@pingiun.comhttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/952Limit usernames to 64 characters2019-11-27T19:49:51+01:00Sébastiaan VersteegLimit usernames to 64 characters<!--
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
Limit usernames to 64 characters
### Why?
GSuite usernames have this maximum length
### Current implementation
Standard Django 150 characters
### Suggested implementation
Add validators in the registrations and members admin forms.29Sébastiaan VersteegSébastiaan Versteeghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/942Remove utf-8 coding2019-11-06T21:09:27+01:00Jelle Besselingjelle@pingiun.comRemove utf-8 coding<!--
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
Some files contain the line `# -*- coding: utf-8 -*-`, but this is not needed
<!-- Please provide a brief description of the issue. Don't go into specifics. -->
### Why?
In Python 3 the default encoding of source files is utf-8, and editors will auto detect the encoding.
<!-- Please motivate why we should invest into this change -->
### Current implementation
Some files contain the line `# -*- coding: utf-8 -*-`
<!-- If relevant, describe how it's done currently -->
### Suggested implementation
Remove all `# -*- coding: utf-8 -*-` lines
<!-- Provide (a) suggestion(s) for how we could approach this -->Luna-Elise SchernthanerLuna-Elise Schernthanerhttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/914Update placeholder in activemembers2019-10-03T16:37:03+02:00Sébastiaan VersteegUpdate placeholder in activemembers### One-sentence description
Update placeholder in activemembers
### Why?
It's in Dutch
### Current implementation
static/activemembers/images/placeholder.png
### Suggested implementation
<!-- Provide (a) suggestion(s) for how we ...### One-sentence description
Update placeholder in activemembers
### Why?
It's in Dutch
### Current implementation
static/activemembers/images/placeholder.png
### Suggested implementation
<!-- Provide (a) suggestion(s) for how we could approach this -->Job DoesburgJob Doesburghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/896Remove course shorthands2019-08-28T19:01:48+02:00Sébastiaan VersteegRemove course shorthands### One-sentence description
Remove course shorthands
### Why?
Unused keys in the model of courses
### Current implementation
There are fields for shorthands
### Suggested implementation
Remove the fields from the model### One-sentence description
Remove course shorthands
### Why?
Unused keys in the model of courses
### Current implementation
There are fields for shorthands
### Suggested implementation
Remove the fields from the model26Sébastiaan VersteegSébastiaan Versteeghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/879Update fullcalendar to v42019-06-20T14:16:37+02:00Sébastiaan VersteegUpdate fullcalendar to v4### One-sentence description
Update fullcalendar to v4
### Why?
New version
### Current implementation
v3
### Suggested implementation
v4
https://fullcalendar.io/docs/upgrading-from-v3### One-sentence description
Update fullcalendar to v4
### Why?
New version
### Current implementation
v3
### Suggested implementation
v4
https://fullcalendar.io/docs/upgrading-from-v326Sébastiaan VersteegSébastiaan Versteeghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/878Remove 'Set all registered to present and paid'2019-08-28T18:56:23+02:00Sébastiaan VersteegRemove 'Set all registered to present and paid'<!--
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 'Set all registered to present and paid'
### Why?
1. It's broken
2. It assumes that there is one option for the payment which there is not anymore.
### Current implementation
Some.
### Suggested implementation
None.Sébastiaan VersteegSébastiaan Versteeghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/877Remove vacancy expiration mails2020-02-04T14:40:33+01:00Joren VranckenRemove vacancy expiration mails<!--
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. -->
Remove vacancy expiration mails.
### Why?
<!-- Please motivate why we should invest into this change -->
The vacancy expiration mails are a bit feature creep. They are not really helpful, because the commissioner of external affairs has their own administration with expiration dates (including the vacancies). Furthermore, the emails also don't help because they arrive either too late or too soon. Some partners have a lot longer negotiating time than one month, while others can be handled within a few days.
Besides that, it is also a bit weird that we are only sending mails about vacancies. What about the partner profiles? Why are we not tracking expiration dates for those?
### Suggested implementation
I suggest we remove this functionality altogether which will result in less code to maintain and less useless emails to be sent.26Sébastiaan VersteegSébastiaan Versteeghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/876Use aliases instead of aliasses2019-11-27T19:49:53+01:00Joren VranckenUse aliases instead of aliasses<!--
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. -->
Replace "aliasses" with "aliases" in the `mailinglists` app.
### Why?
<!-- Please motivate why we should invest into this change -->
"aliases" is the correct plural of "alias".Sébastiaan VersteegSébastiaan Versteeghttps://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/867Revisit urls schemes2019-10-09T19:02:39+02:00Sébastiaan VersteegRevisit urls schemes### One-sentence description
Revisit urls schemes
### Why?
It's currently a bit messy and not consistent.
### Current implementation
We have one central urls.py for our application in thaliawebsite which decides the namespacing of a...### One-sentence description
Revisit urls schemes
### Why?
It's currently a bit messy and not consistent.
### Current implementation
We have one central urls.py for our application in thaliawebsite which decides the namespacing of all the modules.
### Suggested implementation
The central urls.py only includes the urls.py files of all the packages. These packages are then allowed to fill in their url schemes how they see fit. This allows us to re-use the same namespace in multiple modules and follow the way our menu is structured to decide the full url of a page.
All urls used in the django admin and implemented via the central urls.py (like push notifications and newsletters) should be implemented using the ModelAdmin's `get_urls` method like it was done in registrations and payments.Sébastiaan VersteegSébastiaan Versteeg