Registrations feature
-
Review changes -
-
Download -
Patches
-
Plain diff
Closes #105 (closed)
From: registrations/README.md
Registrations
This document explains how the registrations module behaviour is defined. The behaviour of upgrading an existing 'year' membership to a 'study' membership (until graduation) is taken from the HR. If the HR ever changes this behaviour should be changed to reflect those changes.
Note that registrations and renewals for supporters are implemented in the models, there are simply no views providing this functionality. If we ever want to implement this then it would be best to create a complete new form just for supporter registrations.
New member registration
Frontend
- User enters information
- User accepts privacy policy
- System validates info
- Correct address
- Valid and unique email address
- Checked against existing users
- Privacy policy accepted
- If the selected member type is 'member':
- valid and unique student number
- selected programme
- cohort
- Registration model created (status: Awaiting email confirmation)
- Email address confirmation sent
- User confirms email address
- Registration model status changed (status: Ready for review)
Backend
- Admin accepts registration
- System checks if username is unique
- If it's not unique a username can be entered manually
- If it's still not unique the registration cannot be accepted
- If it's unique the generated username will be added to the registration
- Payment model is created (processed: False)
- Amount is calculated based on the selected length ('study' or 'year')
- Values are located in thaliawebsite.settings
- Email is sent as acceptance confirmation containg instructions for payment
- Amount is calculated based on the selected length ('study' or 'year')
- System checks if username is unique
- Admin rejects registration
- Email is sent as rejection message
Existing user membership renewal
Frontend
- User enters information (length, type)
- If latest membership has not ended yet: always allow 'study' length
- If latest membership has ended or ends within 1 month: also allow 'year' length
- If latest membership is 'study' and did not end: do not allow renewal
- Renewal model created (status: Ready for review)
Backend
- Admin accepts renewal
- Payment model is created (processed: False)
- Amount is calculated based on selected length ('study' or 'year')
- Values are located in thaliawebsite.settings
- If the current membership has not ended yet and an until date is present for that membership and the selected length is 'study' the amount will be price['study'] - price['year']
- Email is sent as acceptance confirmation containg instructions for payment
- Amount is calculated based on selected length ('study' or 'year')
- Payment model is created (processed: False)
- Admin rejects renewal
- Email is sent as rejection message
Payment processing
Backend
- Admin (or the system, if automated using e.g. iDeal) processes payment
- If this is a Registration model then User and Member models are created
- If this is a Renewal model then the Member is retrieved
- A membership is added to the provided Member model based on the provided length
- If the latest (not current, since there may have been some time between asking for the upgrade and accepting it) membership has an until date and the selected length is 'study' that membership will be updated to have None as until date. No new membership will be created.
- During a lecture year the until date will be the 31 August of the lecture year + 1. Thus is you process payments in November 2016 that means the memberships will end on 31 August 2017
- For payments processed in August the lecture year will be increased by 1. So if you process payments in August 2017 that means the memberships will end on 31 August 2018.
- Payment confirmation sent (if this is a Renewal model)
Edited by Ghost User
Merge request reports
Compare and
- version 520b5cba5d
- version 512d3c9b3e
- version 50717b5491
- version 49ee611535
- version 4812900a8f
- version 47c70a76c8
- version 469214aebd
- version 4596203aff
- version 444730cb69
- version 43ba8f7a68
- version 42d89d1615
- version 41a7b81391
- version 407dc18499
- version 393343aa0d
- version 384b9dc4fd
- version 37d38bc42e
- version 36244575cd
- version 354845d6a6
- version 34bbe86bc4
- version 331aa9d441
- version 32b0b38afe
- version 314906fc1d
- version 301928257f
- version 29d26a7bc6
- version 28d10f985b
- version 27a0c1f6e7
- version 26f5388549
- version 25f5714e48
- version 2479d26527
- version 230bb71266
- version 22e2a3e3a0
- version 215884b3b7
- version 204f650648
- version 1950a9ed41
- version 18cf49d63a
- version 174a17ccf5
- version 16b82ec050
- version 15edb250cf
- version 142cc8a6ce
- version 13b24df7d5
- version 1275ce324a
- version 111c2f05a1
- version 10861d95e2
- version 993f874eb
- version 8508bc371
- version 7f399b3f5
- version 677e92e82
- version 5895c6399
- version 41733dd49
- version 3571d0186
- version 2a9c6c658
- version 1b3abead0
- master (base)
- latest version0d26a6381 commit,
- version 520b5cba5d1 commit,
- version 512d3c9b3e1 commit,
- version 50717b54911 commit,
- version 49ee6115351 commit,
- version 4812900a8f1 commit,
- version 47c70a76c81 commit,
- version 469214aebd1 commit,
- version 4596203aff1 commit,
- version 444730cb691 commit,
- version 43ba8f7a681 commit,
- version 42d89d16151 commit,
- version 41a7b813911 commit,
- version 407dc184991 commit,
- version 393343aa0d1 commit,
- version 384b9dc4fd1 commit,
- version 37d38bc42e1 commit,
- version 36244575cd1 commit,
- version 354845d6a61 commit,
- version 34bbe86bc41 commit,
- version 331aa9d4412 commits,
- version 32b0b38afe1 commit,
- version 314906fc1d1 commit,
- version 301928257f66 commits,
- version 29d26a7bc666 commits,
- version 28d10f985b65 commits,
- version 27a0c1f6e763 commits,
- version 26f538854963 commits,
- version 25f5714e4863 commits,
- version 2479d2652763 commits,
- version 230bb7126663 commits,
- version 22e2a3e3a063 commits,
- version 215884b3b762 commits,
- version 204f65064862 commits,
- version 1950a9ed4161 commits,
- version 18cf49d63a60 commits,
- version 174a17ccf559 commits,
- version 16b82ec05058 commits,
- version 15edb250cf57 commits,
- version 142cc8a6ce57 commits,
- version 13b24df7d556 commits,
- version 1275ce324a56 commits,
- version 111c2f05a156 commits,
- version 10861d95e253 commits,
- version 993f874eb53 commits,
- version 8508bc37153 commits,
- version 7f399b3f552 commits,
- version 677e92e8251 commits,
- version 5895c639951 commits,
- version 41733dd4942 commits,
- version 3571d018642 commits,
- version 2a9c6c65841 commits,
- version 1b3abead040 commits,
70 files
+ 5501
− 270
Compare changes
- Side-by-side
- Inline
Files
70+ 1
− 0
Loading