liquid_feedback_frontend

diff app/main/member/settings.lua @ 75:733f65c0c0a0

Bugfixes, feature enhancements, code-cleanup, and major work on API

Details:
- API
-- Allow relation name to be passed to helper function util.autoapi{...}
-- Added area API
-- Bugfixes in API
--- Correctly return initiatives (bug #162)
--- Correctly process "id" parameter for initiative API
--- Bugfix related to "state" parameter (bug #165)
--- Changed constant "discussion" to "accepted" (in model/issue.lua, used by API)
--- Fixed JSON encoding in auto_api (bug #181)
--- Ignore list filter "voted" in case of public access
--- Enable access to API without session
- Work on RSS feed (incomplete yet)
- Other bugfixes
-- Handle empty browser identification string
-- Handle invalid date in member/update.lua (bugs #24 #109 #115 #136)
-- Better handle errors while converting uploaded images. (bug #79 +5 duplicates)
-- Don't display revoked initiatives in list of new drafts (bug #134)
-- Fixed syntax error in app/main/member/_action/update_name.lua throwing unexpected error, when new name was too short
-- Do not display refresh support button for revoked initiatives
-- Repaired issue search (bug #150)
-- Fixed typos in german translation files
--- "initi(i)erte"
--- "Er(g)eignisse" (bug #161)
- Code cleanup
-- Removed deprecated motd files locale/motd/de.txt and locale/motd/de_public.txt
-- Removed redundant code in app/main/index/_updated_drafts.lua
- New features and (optical) enhancements
-- Support change of notify email; notification of not approved address added to start page
-- Settings dialog splitted into single pages
-- Mark deactivated members
-- Calendar for birthday selection in profile
-- Policy list public readable when public access is enabled
author bsw
date Thu Jul 08 18:44:02 2010 +0200 (2010-07-08)
parents 0849be391140
children 7196685f9dd7
line diff
     1.1 --- a/app/main/member/settings.lua	Wed May 26 15:47:52 2010 +0200
     1.2 +++ b/app/main/member/settings.lua	Thu Jul 08 18:44:02 2010 +0200
     1.3 @@ -1,4 +1,3 @@
     1.4 -
     1.5  slot.put_into("title", _"Settings")
     1.6  
     1.7  slot.select("actions", function()
     1.8 @@ -10,125 +9,36 @@
     1.9      module = "index",
    1.10      view = "index"
    1.11    }
    1.12 -
    1.13 -  ui.link{
    1.14 -    content = function()
    1.15 -        ui.image{ static = "icons/16/wrench.png" }
    1.16 -        slot.put(_"Developer features")
    1.17 -    end,
    1.18 -    module = "member",
    1.19 -    view = "developer_settings"
    1.20 -  }
    1.21 -
    1.22  end)
    1.23  
    1.24 -ui.heading{ content = _"Display settings" }
    1.25 -util.help("member.settings.display", _"Display settings")
    1.26 +ui.tag{
    1.27 +  tag = "div",
    1.28 +  content = _"You can change the following settings:"
    1.29 +}
    1.30  
    1.31 -ui.form{
    1.32 -  attr = { class = "vertical" },
    1.33 -  module = "member",
    1.34 -  action = "update_display",
    1.35 -  routing = {
    1.36 -    ok = {
    1.37 -      mode = "redirect",
    1.38 -      module = "index",
    1.39 -      view = "index"
    1.40 -    }
    1.41 -  },
    1.42 -  content = function()
    1.43 -    ui.field.select{
    1.44 -      label = _"Type of tabs",
    1.45 -      foreign_records = {
    1.46 -        { id = "tabs",                     name = _"Tabs" },
    1.47 -        { id = "accordeon",                name = _"Accordion (none expanded)" .. " === " .. _"EXPERIMENTAL FEATURE" .. " ===" },
    1.48 -        { id = "accordeon_first_expanded", name = _"Accordion (first expanded)" .. " === " .. _"EXPERIMENTAL FEATURE" .. " ===" },
    1.49 ---        { id = "accordeon_all_expanded",   name = _"Accordion (all expanded)" }
    1.50 -      },
    1.51 -      foreign_id = "id",
    1.52 -      foreign_name = "name",
    1.53 -      name = "tab_mode",
    1.54 -      value = app.session.member:get_setting_value("tab_mode")
    1.55 -    }
    1.56 -    ui.field.select{
    1.57 -      label = _"Number of initiatives to preview",
    1.58 -      foreign_records = {
    1.59 -        { id =  3, name = "3" },
    1.60 -        { id =  4, name = "4" },
    1.61 -        { id =  5, name = "5" },
    1.62 -        { id =  6, name = "6" },
    1.63 -        { id =  7, name = "7" },
    1.64 -        { id =  8, name = "8" },
    1.65 -        { id =  9, name = "9" },
    1.66 -        { id = 10, name = "10" },
    1.67 -      },
    1.68 -      foreign_id = "id",
    1.69 -      foreign_name = "name",
    1.70 -      name = "initiatives_preview_limit",
    1.71 -      value = app.session.member:get_setting_value("initiatives_preview_limit")
    1.72 -    }
    1.73 -    ui.submit{ value = _"Change display settings" }
    1.74 -  end
    1.75 +local pages = {
    1.76 +  { view = "settings_display",   text = _"Display settings" },
    1.77 +  { view = "settings_email",     text = _"Change your notification email address" },
    1.78 +  { view = "settings_name",      text = _"Change your name" },
    1.79 +  { view = "settings_login",     text = _"Change your login" },
    1.80 +  { view = "settings_password",  text = _"Change your password" },
    1.81 +  { view = "developer_settings", text = _"Developer settings" },
    1.82  }
    1.83  
    1.84 -ui.heading{ content = _"Change your name" }
    1.85 -util.help("member.settings.name", _"Change name")
    1.86 -
    1.87 -ui.form{
    1.88 -  attr = { class = "vertical" },
    1.89 -  module = "member",
    1.90 -  action = "update_name",
    1.91 -  routing = {
    1.92 -    ok = {
    1.93 -      mode = "redirect",
    1.94 -      module = "index",
    1.95 -      view = "index"
    1.96 +ui.list{
    1.97 +  attr = { class = "menu_list" },
    1.98 +  style = "ulli",
    1.99 +  records = pages,
   1.100 +  columns = {
   1.101 +    {
   1.102 +      content = function(page)
   1.103 +        ui.link{
   1.104 +          module = "member",
   1.105 +          view = page.view,
   1.106 +          text = page.text
   1.107 +        }
   1.108 +      end
   1.109      }
   1.110 -  },
   1.111 -  content = function()
   1.112 -    ui.field.text{ label = _"Name", name = "name", value = app.session.member.name }
   1.113 -    ui.submit{ value = _"Change name" }
   1.114 -  end
   1.115 +  }
   1.116  }
   1.117  
   1.118 -ui.heading{ content = _"Change your login" }
   1.119 -util.help("member.settings.login", _"Change login")
   1.120 -
   1.121 -ui.form{
   1.122 -  attr = { class = "vertical" },
   1.123 -  module = "member",
   1.124 -  action = "update_login",
   1.125 -  routing = {
   1.126 -    ok = {
   1.127 -      mode = "redirect",
   1.128 -      module = "index",
   1.129 -      view = "index"
   1.130 -    }
   1.131 -  },
   1.132 -  content = function()
   1.133 -    ui.field.text{ label = _"Login", name = "login", value = app.session.member.login }
   1.134 -    ui.submit{ value = _"Change login" }
   1.135 -  end
   1.136 -}
   1.137 -
   1.138 -ui.heading{ content = _"Change your password" }
   1.139 -util.help("member.settings.password", _"Change password")
   1.140 -
   1.141 -ui.form{
   1.142 -  attr = { class = "vertical" },
   1.143 -  module = "member",
   1.144 -  action = "update_password",
   1.145 -  routing = {
   1.146 -    ok = {
   1.147 -      mode = "redirect",
   1.148 -      module = "index",
   1.149 -      view = "index"
   1.150 -    }
   1.151 -  },
   1.152 -  content = function()
   1.153 -    ui.field.password{ label = _"Old password", name = "old_password" }
   1.154 -    ui.field.password{ label = _"New password", name = "new_password1" }
   1.155 -    ui.field.password{ label = _"Repeat new password", name = "new_password2" }
   1.156 -    ui.submit{ value = _"Change password" }
   1.157 -  end
   1.158 -}
   1.159 \ No newline at end of file

Impressum / About Us