Commit | Line | Data |
---|---|---|
25dd56d3 | 1 | Plat/al 2 Events |
47a53641 CW |
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 | ||
25dd56d3 NI |
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. | |
47a53641 CW |
23 | |
24 | ||
25 | Alternate proposed implementation | |
26 | --------------------------------- | |
27 | ||
28 | Same thing as above except that price options are only for the main event. | |
25dd56d3 | 29 | That way the code is a bit less ugly. |
47a53641 CW |
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. |