| rev | 
   line source | 
| 
bsw@564
 | 
     1 ui.title(_"Developer settings")
 | 
| 
bsw@564
 | 
     2 
 | 
| 
bsw@10
 | 
     3 
 | 
| 
bsw@564
 | 
     4 local setting_key = "liquidfeedback_frontend_developer_features"
 | 
| 
bsw@564
 | 
     5 local setting = Setting:by_pk(app.session.member.id, setting_key)
 | 
| 
bsw@51
 | 
     6 
 | 
| 
bsw@564
 | 
     7 if setting then
 | 
| 
bsw@564
 | 
     8   ui.form{
 | 
| 
bsw@564
 | 
     9     attr = { class = "vertical" },
 | 
| 
bsw@564
 | 
    10     module = "member",
 | 
| 
bsw@564
 | 
    11     action = "update_stylesheet_url",
 | 
| 
bsw@564
 | 
    12     routing = {
 | 
| 
bsw@564
 | 
    13       ok = {
 | 
| 
bsw@564
 | 
    14         mode = "redirect",
 | 
| 
bsw@564
 | 
    15         module = "index",
 | 
| 
bsw@564
 | 
    16         view = "index"
 | 
| 
bsw@564
 | 
    17       }
 | 
| 
bsw@564
 | 
    18     },
 | 
| 
bsw@564
 | 
    19     content = function()
 | 
| 
bsw@564
 | 
    20       local setting_key = "liquidfeedback_frontend_stylesheet_url"
 | 
| 
bsw@564
 | 
    21       local setting = Setting:by_pk(app.session.member.id, setting_key)
 | 
| 
bsw@564
 | 
    22       local value = setting and setting.value
 | 
| 
bsw@564
 | 
    23       ui.field.text{ 
 | 
| 
bsw@564
 | 
    24         label = _"Stylesheet URL",
 | 
| 
bsw@564
 | 
    25         name = "stylesheet_url",
 | 
| 
bsw@564
 | 
    26         value = value
 | 
| 
bsw@564
 | 
    27       }
 | 
| 
bsw@564
 | 
    28       ui.submit{ value = _"Set URL" }
 | 
| 
bsw@564
 | 
    29     end
 | 
| 
bsw@564
 | 
    30   }
 | 
| 
bsw@564
 | 
    31 end
 | 
| 
bsw@564
 | 
    32 
 | 
| 
bsw@564
 | 
    33 ui.heading{ content = _"API keys" }
 | 
| 
bsw@51
 | 
    34 
 | 
| 
bsw@564
 | 
    35 local member_applications = MemberApplication:new_selector()
 | 
| 
bsw@564
 | 
    36   :add_where{ "member_id = ?", app.session.member.id }
 | 
| 
bsw@564
 | 
    37   :add_order_by("name, id")
 | 
| 
bsw@564
 | 
    38   :exec()
 | 
| 
bsw@514
 | 
    39   
 | 
| 
bsw@564
 | 
    40 if #member_applications > 0 then
 | 
| 
bsw@514
 | 
    41 
 | 
| 
bsw@564
 | 
    42   ui.list{
 | 
| 
bsw@564
 | 
    43     records = member_applications,
 | 
| 
bsw@564
 | 
    44     columns = {
 | 
| 
bsw@564
 | 
    45       {
 | 
| 
bsw@564
 | 
    46         name = "name",
 | 
| 
bsw@564
 | 
    47         label = _"Name"
 | 
| 
bsw@564
 | 
    48       },
 | 
| 
bsw@564
 | 
    49       {
 | 
| 
bsw@564
 | 
    50         name = "access_level",
 | 
| 
bsw@564
 | 
    51         label = _"Access level"
 | 
| 
bsw@564
 | 
    52       },
 | 
| 
bsw@564
 | 
    53       {
 | 
| 
bsw@564
 | 
    54         name = "key",
 | 
| 
bsw@564
 | 
    55         label = _"API Key"
 | 
| 
bsw@564
 | 
    56       },
 | 
| 
bsw@564
 | 
    57       {
 | 
| 
bsw@564
 | 
    58         name = "last_usage",
 | 
| 
bsw@564
 | 
    59         label = "Last usage"
 | 
| 
bsw@564
 | 
    60       },
 | 
| 
bsw@564
 | 
    61       {
 | 
| 
bsw@564
 | 
    62         content = function(member_application)
 | 
| 
bsw@564
 | 
    63           ui.link{
 | 
| 
bsw@564
 | 
    64             text = _"Delete",
 | 
| 
bsw@564
 | 
    65             module = "member", action = "update_api_key", id = member_application.id,
 | 
| 
bsw@564
 | 
    66             params = { delete = true },
 | 
| 
bsw@564
 | 
    67             routing = {
 | 
| 
bsw@564
 | 
    68               default = {
 | 
| 
bsw@564
 | 
    69                 mode = "redirect",
 | 
| 
bsw@564
 | 
    70                 module = "member",
 | 
| 
bsw@564
 | 
    71                 view = "developer_settings"
 | 
| 
bsw@514
 | 
    72               }
 | 
| 
bsw@514
 | 
    73             }
 | 
| 
bsw@564
 | 
    74           }
 | 
| 
bsw@564
 | 
    75         end
 | 
| 
bsw@564
 | 
    76       },
 | 
| 
bsw@564
 | 
    77     }
 | 
| 
bsw@564
 | 
    78   }
 | 
| 
bsw@564
 | 
    79 
 | 
| 
bsw@564
 | 
    80 else
 | 
| 
bsw@564
 | 
    81   
 | 
| 
bsw@564
 | 
    82   slot.put(_"Currently no API key is set.")
 | 
| 
bsw@564
 | 
    83   slot.put(" ")
 | 
| 
bsw@564
 | 
    84   ui.link{
 | 
| 
bsw@564
 | 
    85     text = _"Generate API key",
 | 
| 
bsw@564
 | 
    86     module = "member",
 | 
| 
bsw@564
 | 
    87     action = "update_api_key",
 | 
| 
bsw@564
 | 
    88     routing = {
 | 
| 
bsw@564
 | 
    89       default = {
 | 
| 
bsw@564
 | 
    90         mode = "redirect",
 | 
| 
bsw@564
 | 
    91         module = "member",
 | 
| 
bsw@564
 | 
    92         view = "developer_settings"
 | 
| 
bsw@51
 | 
    93       }
 | 
| 
bsw@10
 | 
    94     }
 | 
| 
bsw@564
 | 
    95   }
 | 
| 
bsw@564
 | 
    96 end
 |