liquid_feedback_frontend
diff app/main/member/_action/update_api_key.lua @ 514:976d493106a1
Updated member api key settings to core 2.0
| author | bsw |
|---|---|
| date | Sun Apr 15 12:32:59 2012 +0200 (2012-04-15) |
| parents | 0849be391140 |
| children | 67c1695dc94d |
line diff
1.1 --- a/app/main/member/_action/update_api_key.lua Thu Apr 12 00:10:54 2012 +0200 1.2 +++ b/app/main/member/_action/update_api_key.lua Sun Apr 15 12:32:59 2012 +0200 1.3 @@ -1,54 +1,27 @@ 1.4 - 1.5 -local setting_key = "liquidfeedback_frontend_api_key" 1.6 -local setting = Setting:by_pk(app.session.member.id, setting_key) 1.7 1.8 local api_key 1.9 1.10 -if param.get("delete", atom.boolean) then 1.11 +if param.get_id() and param.get("delete", atom.boolean) then 1.12 1.13 - if setting then 1.14 - setting:destroy() 1.15 + local member_application = MemberApplication:by_id(param.get_id()) 1.16 + 1.17 + if member_application then 1.18 + member_application:destroy() 1.19 end 1.20 1.21 + slot.put_into("notice", _"API key has been deleted") 1.22 else 1.23 1.24 - if not setting then 1.25 - setting = Setting:new() 1.26 - setting.member_id = app.session.member.id 1.27 - setting.key = setting_key 1.28 - end 1.29 - 1.30 - api_key = multirand.string( 1.31 + local member_application = MemberApplication:new() 1.32 + member_application.member_id = app.session.member_id 1.33 + member_application.key = multirand.string( 1.34 20, 1.35 '23456789BCDFGHJKLMNPQRSTVWXYZbcdfghjkmnpqrstvwxyz' 1.36 ) 1.37 - 1.38 - setting.value = api_key 1.39 - 1.40 - setting:save() 1.41 -end 1.42 - 1.43 - 1.44 -local setting_key = "liquidfeedback_frontend_api_key_history" 1.45 + member_application.name = 'member' 1.46 + member_application.comment = '' 1.47 + member_application.access_level = 'full' 1.48 1.49 -setting = SettingMap:new() 1.50 -setting.member_id = app.session.member.id 1.51 -setting.key = setting_key 1.52 -setting.subkey = db:query("SELECT now()")[1].now 1.53 -setting.value = api_key or "" 1.54 -local dberr = setting:try_save() 1.55 - 1.56 -if dberr then 1.57 - if dberr:is_kind_of("IntegrityConstraintViolation.UniqueViolation") then 1.58 - slot.put_into("error", _"The API key has been changed too fast.") 1.59 - return 1.60 - else 1.61 - dberr:escalate() 1.62 - end 1.63 + member_application:save() 1.64 + slot.put_into("notice", _"API key has been created") 1.65 end 1.66 - 1.67 -if not api_key then 1.68 - slot.put_into("notice", _"API key has been deleted") 1.69 -else 1.70 - slot.put_into("notice", _"API key has been updated") 1.71 -end