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/1008Show deregistration disclaimer text even if not registered for event2020-02-23T16:53:09+01:00Job DoesburgShow deregistration disclaimer text even if not registered for event### One-sentence description
The text stating you cannot deregister without paying a fine is not visible if you are not registered for the event.
### Current behaviour / Reproducing the bug
<!-- Please write what is happening and how ...### One-sentence description
The text stating you cannot deregister without paying a fine is not visible if you are not registered for the event.
### Current behaviour / Reproducing the bug
<!-- Please write what is happening and how we could reproduce it, if relevant -->
Currently, the website does not show the deregistration disclaimer if you are not registered. This is undesirable, as it allows users to register for the event, without realising that they cannot deregister without paying a fine.
### Expected behaviour
Always state the disclaimer (just like in the app).
![IMG_753FFE892ACD-1](/uploads/fa6db1596eb92b1e2d5bbaa7a07ae4dd/IMG_753FFE892ACD-1.jpeg)Mark BouteMark Boutehttps://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/991Members that have been `minimizeinformation`ed before don't have contact info...2019-12-19T15:02:15+01:00Jelle Besselingjelle@pingiun.comMembers that have been `minimizeinformation`ed before don't have contact information### One-sentence description
Members should fill in their information again when renewing after a information minimisation has happened.
### Motivation
There are currently some members that do not have address information in their profi...### One-sentence description
Members should fill in their information again when renewing after a information minimisation has happened.
### Motivation
There are currently some members that do not have address information in their profile because this has been erased. This creates difficulties when sending an invoice or the Thabloid.
### Desired functionality
Contact information is filled in again when it's detected that it's not complete.
### Suggested implementation
Something at the renewal pagehttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/987Make it clear when members are not allowed to go to events2020-02-19T21:47:45+01:00Jelle Besselingjelle@pingiun.comMake it clear when members are not allowed to go to events### One-sentence description
Make it clearer for members when they cannot go to events.
### Motivation
Sometimes members miss the email that tells them they are banned from events (because they forgot to pay their fines). This causes co...### One-sentence description
Make it clearer for members when they cannot go to events.
### Motivation
Sometimes members miss the email that tells them they are banned from events (because they forgot to pay their fines). This causes confusion when they cannot register for events.
### Desired functionality
Better information on the website when registrations are not allowed.
### Suggested implementation
A banner at the top of the site that clearly states when people are banned from something, and to contact the treasurer for more information.Marthijn van den NieuwenhuizenMarthijn van den Nieuwenhuizenhttps://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/962Almanac entry page2020-03-11T19:29:52+01:00Job DoesburgAlmanac entry page<!--
You want something new.
-->
### One-sentence description
Make a page where people can enter things for the almanac of next year.
### Motivation
A lustrum is coming. The lustrum also involves an almanac. The almanaccie wants...<!--
You want something new.
-->
### One-sentence description
Make a page where people can enter things for the almanac of next year.
### Motivation
A lustrum is coming. The lustrum also involves an almanac. The almanaccie wants people to (opt in) appear in the almanac with a photo and, for example, a quote, etc.
Google Forms are mweh because uploads don't work very well and people are definitely going to make mistakes.
### Desired functionality
Actually just a copy of ones user profile, but on a separate page where we can add certain fields.
- appear in almanac yes/no
- photo
- quote
- maybe extra fields for statistics or something like that
- whether you want to buy the almanac
### Suggested implementation
I think we will need a separate package for this since it can be disabled after a while.
Yes, I know, maybe it is a bit overkill, but I'm curious about what you guys think of it. Otherwise we will move to another solution...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/953Support dark mode (using CSS prefers-color-scheme: dark)2020-03-04T20:33:38+01:00Job DoesburgSupport dark mode (using CSS prefers-color-scheme: dark)<!--
You want something new.
-->
### One-sentence description
Support dark mode (using CSS prefers-color-scheme: dark)
### Motivation
Light hurts our eyes. Light costs power #durability.
Dark is awesome.
### Desired functional...<!--
You want something new.
-->
### One-sentence description
Support dark mode (using CSS prefers-color-scheme: dark)
### Motivation
Light hurts our eyes. Light costs power #durability.
Dark is awesome.
### Desired functionality
Turn the Thalia website into an awesome dark mode
### Suggested implementation
CSS media feature `prefers-color-scheme: dark`Job DoesburgJob Doesburghttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/946Putting society chair 'role' in a mailing list2019-10-30T15:39:17+01:00Thomas van OuwerkerkPutting society chair 'role' in a mailing list<!--
You want something new.
-->
### One-sentence description
I would like a way to be able to put "chair of society X" in a mailing list.
### Motivation
Societies will get emails with stuff like "Hey, can I join?" or "Hi, I have...<!--
You want something new.
-->
### One-sentence description
I would like a way to be able to put "chair of society X" in a mailing list.
### Motivation
Societies will get emails with stuff like "Hey, can I join?" or "Hi, I have some questions", but there are a bunch of members that do not need (or want) to get these. Right now there is a mailing list with just the chair of the Adventurers' Guild in it. However when the chair changes, we will need to manually change the person in this mailing list. It would be better if 'Chair of Society' could be selected instead of 'Thomas van Ouwerkerk'
### Desired functionality
<!--
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.
-->
We would like a way for just the chair to be in a mailing list and when a new chair is appointed, this person is automatically the one that gets emails from that point on.https://gitlab.science.ru.nl/thalia/concrexit/-/issues/945Synchronise activemembers with G Suite2019-11-27T19:49:54+01:00Sébastiaan VersteegSynchronise activemembers with G Suite<!--
You want something new.
-->
### One-sentence description
Synchronise activemembers with G Suite
### Motivation
Because then we can migrate to Google Drive instead of Thalia Cloud.
### Desired functionality
Sync of member e...<!--
You want something new.
-->
### One-sentence description
Synchronise activemembers with G Suite
### Motivation
Because then we can migrate to Google Drive instead of Thalia Cloud.
### Desired functionality
Sync of member email addresses according to the `is_staff` status.
### Suggested implementation
Use signals to find out when users are changed
- They get `is_staff` = create account
- `is_staff` removed = remove account
- username is changed and they are `is_staff` = update accountSé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/937Create HTML version of information check email2019-11-13T21:58:58+01:00Sébastiaan VersteegCreate HTML version of information check email### One-sentence description
Create HTML version of information check email
### Motivation
It's formatting in the text version is bad.
### Desired functionality
Have the data nicely formatted.
### Suggested implementation
Use a ta...### One-sentence description
Create HTML version of information check email
### Motivation
It's formatting in the text version is bad.
### Desired functionality
Have the data nicely formatted.
### Suggested implementation
Use a table or something.Marthijn van den NieuwenhuizenMarthijn van den Nieuwenhuizenhttps://gitlab.science.ru.nl/thalia/concrexit/-/issues/936Suggest registration time at event creation2019-10-24T22:19:23+02:00Jelle Besselingjelle@pingiun.comSuggest registration time at event creation<!--
You want something new.
-->
### One-sentence description
I would like to show event organisers to not open registration at 13:37 but at 12:30.
### Motivation
Event organisers often open registrations at 13:37, but this is a ti...<!--
You want something new.
-->
### One-sentence description
I would like to show event organisers to not open registration at 13:37 but at 12:30.
### Motivation
Event organisers often open registrations at 13:37, but this is a time when many people have lectures, so a suggestion text at this field would help with that.
### Desired functionality
Help text at registration opening time.
<!--
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.
-->
### Suggested implementation
Have a help text at event creation registration time that reads "Prefer opening times at which people don't have lectures, so 12:30 instead of 13:37"
<!--
If you have any notes on how we could achieve this feature,
share them here.
-->https://gitlab.science.ru.nl/thalia/concrexit/-/issues/933Thalia Pay: Add an option to events for users to mark their registration as p...2019-11-06T19:31:19+01:00Sébastiaan VersteegThalia Pay: Add an option to events for users to mark their registration as paid using direct debit.Subtask of #632, partially blocked by #930.
### One-sentence description
Add an option to events for users to mark their registration as paid using direct debit.
### Motivation
Because we want Thalia Pay (#632).
### Desired function...Subtask of #632, partially blocked by #930.
### One-sentence description
Add an option to events for users to mark their registration as paid using direct debit.
### Motivation
Because we want Thalia Pay (#632).
### Desired functionality
Payment option on the user side.
### Suggested implementation
Have a button on the event page that has the user confirm their payment or redirect to information about direct debits. Also provide the API for the app!Job DoesburgJob Doesburg