ba978fc8baa11fab7a2c0da4a561ce1f1d6645bf
[xnet] / doc / events.rst
1 Plat\al 2 Events
2 ================
3
4 Events are a way to organisze events with this website.
5 Users may have to pay to participate in an event.
6 Events have optional sub-events which can be free or not free.
7 Events and sub-events may have differents price options (e.g. student or not)
8
9
10 Current implementation
11 ----------------------
12
13 - Event:
14   - contains all the global properties of an event (visibility...)
15   - has a foreign key to an EventPart that is the main event part.
16 - EventPart data specific to a part of an event (name, limits, price options)
17   - they have a foreign key to the containing event.
18 - Price options with a name and a cost as well as a foreign key to an EventPart
19 - Registration of a user to one element of a price option (5 tickets make 5 Registrations)
20
21 The Event has no price options for the global event: it is handled by the main EventPart.
22 (this is done to not duplicate code for main price options and part price options)
23
24
25 Alternate proposed implementation
26 ---------------------------------
27
28 Same thing as above except that price options are only for the main event.
29 That way the coee is a bit less ugly.
30
31
32 Alternate proposed implementation
33 ---------------------------------
34
35 Have EventParts have a foreign key to the main event part. The "root" of the event becomes the main part.