liquid_feedback_frontend

annotate db/demodata.lua @ 249:52b125fada5b

Show unit delegation button only for logged in users
author bsw
date Fri Dec 30 03:14:51 2011 +0100 (2011-12-30)
parents 3bfb2fcf7ab9
children
rev   line source
bsw/jbe@0 1 #!/usr/bin/env lua
bsw/jbe@0 2
bsw/jbe@0 3 member_count = 10000
bsw/jbe@0 4 area_count = 24
bsw/jbe@0 5 issue_count = 1000
bsw/jbe@0 6 policy_count = 3 -- do not change
bsw/jbe@0 7
bsw/jbe@0 8 function write(...)
bsw/jbe@0 9 io.stdout:write(...)
bsw/jbe@0 10 end
bsw/jbe@0 11 function writeln(...)
bsw/jbe@0 12 write(...)
bsw/jbe@0 13 write("\n")
bsw/jbe@0 14 end
bsw/jbe@0 15
bsw/jbe@0 16 math.randomseed(os.time())
bsw/jbe@0 17
bsw/jbe@0 18 writeln('BEGIN;')
bsw/jbe@0 19
bsw/jbe@0 20 for i = 2, member_count do
bsw/jbe@0 21 writeln('INSERT INTO "member" ("login", "name", "ident_number") VALUES (', "'testuser", i, "', 'Benutzer #", i, "', 'TEST", i, "');")
bsw/jbe@0 22 end
bsw/jbe@0 23
bsw/jbe@0 24 for i = 1, member_count do
bsw/jbe@0 25 local is_linked = {}
bsw/jbe@0 26 while math.random(4) > 1 do
bsw/jbe@0 27 local k = math.random(member_count)
bsw/jbe@0 28 if not is_linked[k] then
bsw/jbe@0 29 local public = math.random(2) == 1 and "TRUE" or "FALSE"
bsw/jbe@0 30 writeln('INSERT INTO "contact" ("member_id", "other_member_id", "public") VALUES (', i, ", ", k, ", ", public, ");")
bsw/jbe@0 31 is_linked[k] = true
bsw/jbe@0 32 end
bsw/jbe@0 33 end
bsw/jbe@0 34 end
bsw/jbe@0 35
bsw/jbe@0 36 for i = 2, area_count do
bsw/jbe@0 37 writeln('INSERT INTO "area" ("name") VALUES (', "'Area #", i, "');")
bsw/jbe@0 38 end
bsw/jbe@0 39
bsw/jbe@0 40 local memberships = {}
bsw/jbe@0 41
bsw/jbe@0 42 for i = 1, area_count do
bsw/jbe@0 43 memberships[i] = {}
bsw/jbe@0 44 for j = 1, member_count do
bsw/jbe@0 45 if math.random(4) == 1 then
bsw/jbe@0 46 memberships[i][j] = true
bsw/jbe@0 47 local autoreject = math.random(2) == 1 and "TRUE" or "FALSE"
bsw/jbe@0 48 writeln('INSERT INTO "membership" ("member_id", "area_id", "autoreject") VALUES (', j, ", ", i, ", ", autoreject, ");")
bsw/jbe@0 49 end
bsw/jbe@0 50 end
bsw/jbe@0 51 end
bsw/jbe@0 52
bsw/jbe@0 53 do
bsw/jbe@0 54 local issue_initiative_count = {}
bsw/jbe@0 55 local initiative_draft_count = {}
bsw/jbe@0 56 local initiative_idx = 1
bsw/jbe@0 57 local draft_count = 0
bsw/jbe@0 58 for i = 1, issue_count do
bsw/jbe@0 59 local area = math.random(area_count)
bsw/jbe@0 60 writeln('INSERT INTO "issue" ("area_id", "policy_id") VALUES (', area, ", ", math.random(policy_count), ");")
bsw/jbe@0 61 issue_initiative_count[i] = 1
bsw/jbe@0 62 while math.random(3) > 1 do
bsw/jbe@0 63 issue_initiative_count[i] = issue_initiative_count[i] + 1
bsw/jbe@0 64 end
bsw/jbe@0 65 for j = 1, issue_initiative_count[i] do
bsw/jbe@0 66 writeln('INSERT INTO "initiative" ("issue_id", "name") VALUES (', i, ", 'Initiative #", initiative_idx, "');")
bsw/jbe@0 67 initiative_draft_count[i] = 1
bsw/jbe@0 68 while math.random(4) > 1 do
bsw/jbe@0 69 initiative_draft_count[i] = initiative_draft_count[i] + 1
bsw/jbe@0 70 end
bsw/jbe@0 71 local initiators = {}
bsw/jbe@0 72 local is_used = {}
bsw/jbe@0 73 repeat
bsw/jbe@0 74 local member = math.random(member_count)
bsw/jbe@0 75 if not is_used[member] then
bsw/jbe@0 76 initiators[#initiators+1] = member
bsw/jbe@0 77 is_used[member] = true
bsw/jbe@0 78 end
bsw/jbe@0 79 until math.random(2) == 1
bsw/jbe@0 80 for k = 1, initiative_draft_count[i] do
bsw/jbe@0 81 draft_count = draft_count + 1
bsw/jbe@0 82 writeln('INSERT INTO "draft" ("initiative_id", "author_id", "content") VALUES (', initiative_idx, ", ", initiators[math.random(#initiators)], ", 'Lorem ipsum... (#", draft_count, ")');")
bsw/jbe@0 83 end
bsw/jbe@0 84 for k = 1, #initiators do
bsw/jbe@0 85 local member = math.random(member_count)
bsw/jbe@0 86 writeln('INSERT INTO "initiator" ("member_id", "initiative_id") VALUES (', initiators[k], ", ", initiative_idx, ");")
bsw/jbe@0 87 if math.random(50) > 1 then
bsw/jbe@0 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, ");")
bsw/jbe@0 89 end
bsw/jbe@0 90 end
bsw/jbe@0 91 local probability = math.random(99) + 1
bsw/jbe@0 92 for k = 1, member_count do
bsw/jbe@0 93 if not is_used[k] and (memberships[area][k] and math.random(probability) <= 4 or math.random(probability) == 1) then
bsw/jbe@0 94 writeln('INSERT INTO "supporter" ("member_id", "initiative_id", "draft_id") VALUES (', k, ", ", initiative_idx, ", ", draft_count - math.random(initiative_draft_count[i]) + 1, ");")
bsw/jbe@0 95 end
bsw/jbe@0 96 end
bsw/jbe@0 97 initiative_idx = initiative_idx + 1
bsw/jbe@0 98 end
bsw/jbe@0 99 end
bsw/jbe@0 100 end
bsw/jbe@0 101
bsw/jbe@0 102 writeln('END;')

Impressum / About Us