bsw@75: slot.put_into("title", _"Developer settings") bsw@10: bsw@10: slot.select("actions", function() bsw@10: ui.link{ bsw@10: content = function() bsw@10: ui.image{ static = "icons/16/cancel.png" } bsw@10: slot.put(_"Cancel") bsw@10: end, bsw@10: module = "member", bsw@10: view = "settings" bsw@10: } bsw@10: end) bsw@10: bsw@51: local setting_key = "liquidfeedback_frontend_developer_features" bsw@51: local setting = Setting:by_pk(app.session.member.id, setting_key) bsw@51: bsw@51: if setting then bsw@51: ui.form{ bsw@51: attr = { class = "vertical" }, bsw@51: module = "member", bsw@51: action = "update_stylesheet_url", bsw@51: routing = { bsw@51: ok = { bsw@51: mode = "redirect", bsw@51: module = "index", bsw@51: view = "index" bsw@51: } bsw@51: }, bsw@51: content = function() bsw@51: local setting_key = "liquidfeedback_frontend_stylesheet_url" bsw@51: local setting = Setting:by_pk(app.session.member.id, setting_key) bsw@51: local value = setting and setting.value bsw@51: ui.field.text{ bsw@51: label = _"Stylesheet URL", bsw@51: name = "stylesheet_url", bsw@51: value = value bsw@51: } bsw@51: ui.submit{ value = _"Set URL" } bsw@51: end bsw@10: } bsw@51: end bsw@51: bsw@514: ui.heading{ content = _"API keys" } bsw@514: bsw@517: -- util.help("member.developer_settings.api_key", _"API key") bsw@51: bsw@514: local member_applications = MemberApplication:new_selector() bsw@514: :add_where{ "member_id = ?", app.session.member.id } bsw@514: :add_order_by("name, id") bsw@514: :exec() bsw@514: bsw@514: if #member_applications > 0 then bsw@514: bsw@514: ui.list{ bsw@514: records = member_applications, bsw@514: columns = { bsw@514: { bsw@514: name = "name", bsw@514: label = _"Name" bsw@514: }, bsw@514: { bsw@514: name = "access_level", bsw@514: label = _"Access level" bsw@514: }, bsw@514: { bsw@514: name = "key", bsw@514: label = _"API Key" bsw@514: }, bsw@514: { bsw@514: name = "last_usage", bsw@514: label = "Last usage" bsw@514: }, bsw@514: { bsw@514: content = function(member_application) bsw@514: ui.link{ bsw@514: text = _"Delete", bsw@514: module = "member", action = "update_api_key", id = member_application.id, bsw@514: params = { delete = true }, bsw@514: routing = { bsw@514: default = { bsw@514: mode = "redirect", bsw@514: module = "member", bsw@514: view = "developer_settings" bsw@514: } bsw@514: } bsw@514: } bsw@514: end bsw@514: }, bsw@51: } bsw@10: } bsw@514: bsw@51: else bsw@514: bsw@51: slot.put(_"Currently no API key is set.") bsw@51: slot.put(" ") bsw@51: ui.link{ bsw@51: text = _"Generate API key", bsw@51: module = "member", bsw@51: action = "update_api_key", bsw@51: routing = { bsw@51: default = { bsw@51: mode = "redirect", bsw@51: module = "member", bsw@51: view = "developer_settings" bsw@51: } bsw@51: } bsw@51: } bsw@10: end