1dba1970f25ca5d1e5d76a28541d37cf6417f65f
[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 option for the global event, it is handled by the main EventPart.
22 This is done to avoid duplicating 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 code 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.