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