liquid_feedback_frontend

changeset 1468:9a01089a6703

New layout for admin unit and area view
author bsw
date Thu Oct 18 17:40:09 2018 +0200 (2018-10-18)
parents 29fc1f7e7880
children 914611dc446b
files app/main/admin/area_show.lua app/main/admin/unit_edit.lua
line diff
     1.1 --- a/app/main/admin/area_show.lua	Thu Oct 18 17:38:36 2018 +0200
     1.2 +++ b/app/main/admin/area_show.lua	Thu Oct 18 17:40:09 2018 +0200
     1.3 @@ -10,70 +10,82 @@
     1.4  
     1.5  ui.titleAdmin(_"area")
     1.6  
     1.7 -ui.form{
     1.8 -  attr = { class = "vertical section" },
     1.9 -  record = area,
    1.10 -  module = "admin",
    1.11 -  action = "area_update",
    1.12 -  routing = {
    1.13 -    ok = {
    1.14 -      mode = "redirect",
    1.15 -      module = "admin",
    1.16 -      view = "index",
    1.17 -      params = { unit_id = area.unit_id }
    1.18 -    },
    1.19 -  },
    1.20 -  id = id,
    1.21 -  content = function()
    1.22 -    local policies = Policy:build_selector{ active = true }:exec()
    1.23 -    local def_policy = {
    1.24 -      {
    1.25 -        id = "-1",
    1.26 -        name = _"No default"
    1.27 -      }
    1.28 -    }
    1.29 -    for i, record in ipairs(policies) do
    1.30 -      def_policy[#def_policy+1] = record
    1.31 -    end
    1.32 +ui.grid{ content = function()
    1.33 +
    1.34 +  ui.cell_main{ content = function()
    1.35 +    ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
    1.36 +      ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
    1.37 +        ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Member list" }
    1.38 +      end }
    1.39 +      ui.container{ attr = { class = "mdl-card__content" }, content = function()
    1.40 +        ui.form{
    1.41 +          attr = { class = "vertical section" },
    1.42 +          record = area,
    1.43 +          module = "admin",
    1.44 +          action = "area_update",
    1.45 +          routing = {
    1.46 +            ok = {
    1.47 +              mode = "redirect",
    1.48 +              module = "admin",
    1.49 +              view = "index",
    1.50 +              params = { unit_id = area.unit_id }
    1.51 +            },
    1.52 +          },
    1.53 +          id = id,
    1.54 +          content = function()
    1.55 +            local policies = Policy:build_selector{ active = true }:exec()
    1.56 +            local def_policy = {
    1.57 +              {
    1.58 +                id = "-1",
    1.59 +                name = _"No default"
    1.60 +              }
    1.61 +            }
    1.62 +            for i, record in ipairs(policies) do
    1.63 +              def_policy[#def_policy+1] = record
    1.64 +            end
    1.65  
    1.66 -    
    1.67 -    ui.section( function()
    1.68 -      ui.sectionHead( function()
    1.69 -        ui.heading { level = 1, content = area.name or _"New area" }
    1.70 -      end )
    1.71 -    
    1.72 -      ui.sectionRow( function()
    1.73 -        
    1.74 -        ui.field.hidden{ name = "unit_id", value = area.unit_id }
    1.75 -        ui.field.text{    label = _"Unit", value = area.unit.name, readonly = true }
    1.76 -        ui.field.text{    label = _"Name",        name = "name" }
    1.77 -        ui.field.text{    label = _"Description", name = "description", multiline = true }
    1.78 -        ui.field.text{    label = _"External reference", name = "external_reference" }
    1.79 -        ui.field.select{  label = _"Default Policy",   name = "default_policy",
    1.80 -                    value=area.default_policy and area.default_policy.id or "-1",
    1.81 -                    foreign_records = def_policy,
    1.82 -                    foreign_id      = "id",
    1.83 -                    foreign_name    = "name"
    1.84 +            
    1.85 +            ui.section( function()
    1.86 +              ui.sectionHead( function()
    1.87 +                ui.heading { level = 1, content = area.name or _"New area" }
    1.88 +              end )
    1.89 +            
    1.90 +              ui.sectionRow( function()
    1.91 +                
    1.92 +                ui.field.hidden{ name = "unit_id", value = area.unit_id }
    1.93 +                ui.field.text{    label = _"Unit", value = area.unit.name, readonly = true }
    1.94 +                ui.field.text{    label = _"Name",        name = "name" }
    1.95 +                ui.field.text{    label = _"Description", name = "description", multiline = true }
    1.96 +                ui.field.text{    label = _"External reference", name = "external_reference" }
    1.97 +                ui.field.select{  label = _"Default Policy",   name = "default_policy",
    1.98 +                            value=area.default_policy and area.default_policy.id or "-1",
    1.99 +                            foreign_records = def_policy,
   1.100 +                            foreign_id      = "id",
   1.101 +                            foreign_name    = "name"
   1.102 +                }
   1.103 +                ui.heading { level = 3, content = _"Allowed policies" }
   1.104 +                ui.multiselect{   name = "allowed_policies[]",
   1.105 +                                  foreign_records = policies,
   1.106 +                                  foreign_id      = "id",
   1.107 +                                  foreign_name    = "name",
   1.108 +                                  connecting_records = area.allowed_policies or {},
   1.109 +                                  foreign_reference  = "id",
   1.110 +                }
   1.111 +                ui.field.text{    label = _"Admission quorum standard", name = "quorum_standard", value = hint and 10 or nil }
   1.112 +                ui.field.text{    label = _"Admission quorum issues", name = "quorum_issues", value = hint and 10 or nil }
   1.113 +                ui.field.text{    label = _"Admission quorum time", name = "quorum_time", value = hint and "60 days" or nil }
   1.114 +                ui.field.text{    label = _"Admission quorum exponent", name = "quorum_exponent", value = hint and 0.5 or nil }
   1.115 +                ui.field.text{    label = _"Admission qourum factor", name = "quorum_factor", value = hint and 2 or nil }
   1.116 +                slot.put("<br /><br />")
   1.117 +                ui.field.boolean{ label = _"Active?",     name = "active", value = hint and true or nil }
   1.118 +                ui.submit{ text = _"update area" }
   1.119 +                slot.put(" ")
   1.120 +                ui.link{ module = "admin", view = "index", content = _"cancel" }
   1.121 +              end )
   1.122 +            end )
   1.123 +          end
   1.124          }
   1.125 -        ui.heading { level = 3, content = _"Allowed policies" }
   1.126 -        ui.multiselect{   name = "allowed_policies[]",
   1.127 -                          foreign_records = policies,
   1.128 -                          foreign_id      = "id",
   1.129 -                          foreign_name    = "name",
   1.130 -                          connecting_records = area.allowed_policies or {},
   1.131 -                          foreign_reference  = "id",
   1.132 -        }
   1.133 -        ui.field.text{    label = _"Admission quorum standard", name = "quorum_standard", value = hint and 10 or nil }
   1.134 -        ui.field.text{    label = _"Admission quorum issues", name = "quorum_issues", value = hint and 10 or nil }
   1.135 -        ui.field.text{    label = _"Admission quorum time", name = "quorum_time", value = hint and "60 days" or nil }
   1.136 -        ui.field.text{    label = _"Admission quorum exponent", name = "quorum_exponent", value = hint and 0.5 or nil }
   1.137 -        ui.field.text{    label = _"Admission qourum factor", name = "quorum_factor", value = hint and 2 or nil }
   1.138 -        slot.put("<br /><br />")
   1.139 -        ui.field.boolean{ label = _"Active?",     name = "active", value = hint and true or nil }
   1.140 -        ui.submit{ text = _"update area" }
   1.141 -        slot.put(" ")
   1.142 -        ui.link{ module = "admin", view = "index", content = _"cancel" }
   1.143 -      end )
   1.144 -    end )
   1.145 -  end
   1.146 -}
   1.147 +      end }
   1.148 +    end }
   1.149 +  end }
   1.150 +end }
     2.1 --- a/app/main/admin/unit_edit.lua	Thu Oct 18 17:38:36 2018 +0200
     2.2 +++ b/app/main/admin/unit_edit.lua	Thu Oct 18 17:40:09 2018 +0200
     2.3 @@ -14,40 +14,52 @@
     2.4    units[#units+1] = { id = unit.id, name = unit.name }
     2.5  end
     2.6  
     2.7 -ui.form{
     2.8 -  attr = { class = "vertical section" },
     2.9 -  module = "admin",
    2.10 -  action = "unit_update",
    2.11 -  id = unit and unit.id,
    2.12 -  record = unit,
    2.13 -  routing = {
    2.14 -    default = {
    2.15 -      mode = "redirect",
    2.16 -      modules = "admin",
    2.17 -      view = "index"
    2.18 -    }
    2.19 -  },
    2.20 -  content = function()
    2.21 -    ui.sectionHead( function()
    2.22 -      ui.heading { level = 1, content = unit and unit.name or _"New organizational unit" }
    2.23 -    end )
    2.24 -    ui.sectionRow( function()
    2.25 -      ui.field.select{
    2.26 -        label = _"Parent unit",
    2.27 -        name = "parent_id",
    2.28 -        foreign_records = units,
    2.29 -        foreign_id      = "id",
    2.30 -        foreign_name    = "name"
    2.31 -      }
    2.32 -      ui.field.text{     label = _"Name",         name = "name" }
    2.33 -      ui.field.text{     label = _"Description",  name = "description", multiline = true }
    2.34 -      ui.field.text{     label = _"External reference",  name = "external_reference" }
    2.35 -      ui.field.boolean{  label = _"Active?",      name = "active", value = hint and true or nil }
    2.36 +ui.grid{ content = function()
    2.37  
    2.38 -      slot.put("<br />")
    2.39 -      ui.submit{         text  = _"update unit" }
    2.40 -      slot.put(" ")
    2.41 -      ui.link{ module = "admin", view = "index", content = _"cancel" }
    2.42 -    end )
    2.43 -  end
    2.44 -}
    2.45 +  ui.cell_main{ content = function()
    2.46 +    ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
    2.47 +      ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
    2.48 +        ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Member list" }
    2.49 +      end }
    2.50 +      ui.container{ attr = { class = "mdl-card__content" }, content = function()
    2.51 +        ui.form{
    2.52 +          attr = { class = "vertical section" },
    2.53 +          module = "admin",
    2.54 +          action = "unit_update",
    2.55 +          id = unit and unit.id,
    2.56 +          record = unit,
    2.57 +          routing = {
    2.58 +            default = {
    2.59 +              mode = "redirect",
    2.60 +              modules = "admin",
    2.61 +              view = "index"
    2.62 +            }
    2.63 +          },
    2.64 +          content = function()
    2.65 +            ui.sectionHead( function()
    2.66 +              ui.heading { level = 1, content = unit and unit.name or _"New organizational unit" }
    2.67 +            end )
    2.68 +            ui.sectionRow( function()
    2.69 +              ui.field.select{
    2.70 +                label = _"Parent unit",
    2.71 +                name = "parent_id",
    2.72 +                foreign_records = units,
    2.73 +                foreign_id      = "id",
    2.74 +                foreign_name    = "name"
    2.75 +              }
    2.76 +              ui.field.text{     label = _"Name",         name = "name" }
    2.77 +              ui.field.text{     label = _"Description",  name = "description", multiline = true }
    2.78 +              ui.field.text{     label = _"External reference",  name = "external_reference" }
    2.79 +              ui.field.boolean{  label = _"Active?",      name = "active", value = hint and true or nil }
    2.80 +
    2.81 +              slot.put("<br />")
    2.82 +              ui.submit{         text  = _"update unit" }
    2.83 +              slot.put(" ")
    2.84 +              ui.link{ module = "admin", view = "index", content = _"cancel" }
    2.85 +            end )
    2.86 +          end
    2.87 +        }
    2.88 +      end }
    2.89 +    end }
    2.90 +  end }
    2.91 +end }

Impressum / About Us