liquid_feedback_frontend
view app/main/member/_action/update_api_key.lua @ 167:1fdf1e607494
fix vote count display in corner cases
if number of voters are 0 or votes are 0 don't show percentes they are useless or -nan :-)
if number of voters are 0 or votes are 0 don't show percentes they are useless or -nan :-)
| author | Daniel Poelzleithner <poelzi@poelzi.org> |
|---|---|
| date | Sat Oct 09 21:34:25 2010 +0200 (2010-10-09) |
| parents | 0849be391140 |
| children | 976d493106a1 |
line source
2 local setting_key = "liquidfeedback_frontend_api_key"
3 local setting = Setting:by_pk(app.session.member.id, setting_key)
5 local api_key
7 if param.get("delete", atom.boolean) then
9 if setting then
10 setting:destroy()
11 end
13 else
15 if not setting then
16 setting = Setting:new()
17 setting.member_id = app.session.member.id
18 setting.key = setting_key
19 end
21 api_key = multirand.string(
22 20,
23 '23456789BCDFGHJKLMNPQRSTVWXYZbcdfghjkmnpqrstvwxyz'
24 )
26 setting.value = api_key
28 setting:save()
29 end
32 local setting_key = "liquidfeedback_frontend_api_key_history"
34 setting = SettingMap:new()
35 setting.member_id = app.session.member.id
36 setting.key = setting_key
37 setting.subkey = db:query("SELECT now()")[1].now
38 setting.value = api_key or ""
39 local dberr = setting:try_save()
41 if dberr then
42 if dberr:is_kind_of("IntegrityConstraintViolation.UniqueViolation") then
43 slot.put_into("error", _"The API key has been changed too fast.")
44 return
45 else
46 dberr:escalate()
47 end
48 end
50 if not api_key then
51 slot.put_into("notice", _"API key has been deleted")
52 else
53 slot.put_into("notice", _"API key has been updated")
54 end
