liquid_feedback_frontend
view db/demodata.lua @ 10:72c5e0ee7c98
Version beta6
Bugfixes:
- Security fix: Every user was able to change the discussion URL of an initiative
- Creation of new issues in areas without default policies is now possible
- Members can now be sorted in different ways
- No error when trying to compare a draft with itself
- Added missing local statement to variable initialization in app/main/delegation/new.lua
- CSS flaw in initiative action bar fixed
New features:
- Possiblity to invite other users to become initiator
- Revokation of initiatives implemented
- Number of suggestions, supporters, etc. is shown on corresponding tabs of initiative view
- Members can now be sorted by account creation (default sorting is "newest first")
- Configuration option to create an automatic discussion link for all issues
- First draft of global timeline feature (not accessible via link yet)
- Custom stylesheet URL for users marked as developers
In area listing the number of closed issues is shown too
Renamed "author" field of initiative to "last author"
Removed wrongly included file app/main/member/_show_thumb.lua.orig in the distribution
Help texts updated
Bugfixes:
- Security fix: Every user was able to change the discussion URL of an initiative
- Creation of new issues in areas without default policies is now possible
- Members can now be sorted in different ways
- No error when trying to compare a draft with itself
- Added missing local statement to variable initialization in app/main/delegation/new.lua
- CSS flaw in initiative action bar fixed
New features:
- Possiblity to invite other users to become initiator
- Revokation of initiatives implemented
- Number of suggestions, supporters, etc. is shown on corresponding tabs of initiative view
- Members can now be sorted by account creation (default sorting is "newest first")
- Configuration option to create an automatic discussion link for all issues
- First draft of global timeline feature (not accessible via link yet)
- Custom stylesheet URL for users marked as developers
In area listing the number of closed issues is shown too
Renamed "author" field of initiative to "last author"
Removed wrongly included file app/main/member/_show_thumb.lua.orig in the distribution
Help texts updated
author | bsw |
---|---|
date | Sun Jan 10 12:00:00 2010 +0100 (2010-01-10) |
parents | 3bfb2fcf7ab9 |
children |
line source
1 #!/usr/bin/env lua
3 member_count = 10000
4 area_count = 24
5 issue_count = 1000
6 policy_count = 3 -- do not change
8 function write(...)
9 io.stdout:write(...)
10 end
11 function writeln(...)
12 write(...)
13 write("\n")
14 end
16 math.randomseed(os.time())
18 writeln('BEGIN;')
20 for i = 2, member_count do
21 writeln('INSERT INTO "member" ("login", "name", "ident_number") VALUES (', "'testuser", i, "', 'Benutzer #", i, "', 'TEST", i, "');")
22 end
24 for i = 1, member_count do
25 local is_linked = {}
26 while math.random(4) > 1 do
27 local k = math.random(member_count)
28 if not is_linked[k] then
29 local public = math.random(2) == 1 and "TRUE" or "FALSE"
30 writeln('INSERT INTO "contact" ("member_id", "other_member_id", "public") VALUES (', i, ", ", k, ", ", public, ");")
31 is_linked[k] = true
32 end
33 end
34 end
36 for i = 2, area_count do
37 writeln('INSERT INTO "area" ("name") VALUES (', "'Area #", i, "');")
38 end
40 local memberships = {}
42 for i = 1, area_count do
43 memberships[i] = {}
44 for j = 1, member_count do
45 if math.random(4) == 1 then
46 memberships[i][j] = true
47 local autoreject = math.random(2) == 1 and "TRUE" or "FALSE"
48 writeln('INSERT INTO "membership" ("member_id", "area_id", "autoreject") VALUES (', j, ", ", i, ", ", autoreject, ");")
49 end
50 end
51 end
53 do
54 local issue_initiative_count = {}
55 local initiative_draft_count = {}
56 local initiative_idx = 1
57 local draft_count = 0
58 for i = 1, issue_count do
59 local area = math.random(area_count)
60 writeln('INSERT INTO "issue" ("area_id", "policy_id") VALUES (', area, ", ", math.random(policy_count), ");")
61 issue_initiative_count[i] = 1
62 while math.random(3) > 1 do
63 issue_initiative_count[i] = issue_initiative_count[i] + 1
64 end
65 for j = 1, issue_initiative_count[i] do
66 writeln('INSERT INTO "initiative" ("issue_id", "name") VALUES (', i, ", 'Initiative #", initiative_idx, "');")
67 initiative_draft_count[i] = 1
68 while math.random(4) > 1 do
69 initiative_draft_count[i] = initiative_draft_count[i] + 1
70 end
71 local initiators = {}
72 local is_used = {}
73 repeat
74 local member = math.random(member_count)
75 if not is_used[member] then
76 initiators[#initiators+1] = member
77 is_used[member] = true
78 end
79 until math.random(2) == 1
80 for k = 1, initiative_draft_count[i] do
81 draft_count = draft_count + 1
82 writeln('INSERT INTO "draft" ("initiative_id", "author_id", "content") VALUES (', initiative_idx, ", ", initiators[math.random(#initiators)], ", 'Lorem ipsum... (#", draft_count, ")');")
83 end
84 for k = 1, #initiators do
85 local member = math.random(member_count)
86 writeln('INSERT INTO "initiator" ("member_id", "initiative_id") VALUES (', initiators[k], ", ", initiative_idx, ");")
87 if math.random(50) > 1 then
88 writeln('INSERT INTO "supporter" ("member_id", "initiative_id", "draft_id") VALUES (', initiators[k], ", ", initiative_idx, ", ", draft_count - math.random(initiative_draft_count[i]) + 1, ");")
89 end
90 end
91 local probability = math.random(99) + 1
92 for k = 1, member_count do
93 if not is_used[k] and (memberships[area][k] and math.random(probability) <= 4 or math.random(probability) == 1) then
94 writeln('INSERT INTO "supporter" ("member_id", "initiative_id", "draft_id") VALUES (', k, ", ", initiative_idx, ", ", draft_count - math.random(initiative_draft_count[i]) + 1, ");")
95 end
96 end
97 initiative_idx = initiative_idx + 1
98 end
99 end
100 end
102 writeln('END;')