liquid_feedback_frontend

diff app/main/lf2/_area.lua @ 211:4993b71b383f

First checkin of lf2 (frontend second generation) prototype
author bsw
date Wed Mar 02 20:06:26 2011 +0100 (2011-03-02)
parents
children 3e4ad069847a
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/app/main/lf2/_area.lua	Wed Mar 02 20:06:26 2011 +0100
     1.3 @@ -0,0 +1,75 @@
     1.4 +local area = param.get("area", "table")
     1.5 +
     1.6 +local membership = Membership:by_pk(area.id, app.session.member_id)
     1.7 +
     1.8 +local trustees = Member:new_selector()
     1.9 +  :add_field("delegation_chain.*")
    1.10 +  :join("delegation_chain(" .. app.session.member_id .. ", " .. area.id .. ", NULL)", "delegation_chain", "member.id = delegation_chain.member_id")
    1.11 +  :add_order_by("index")
    1.12 +  :exec()
    1.13 +
    1.14 +ui.box{ class = "area", content = function()
    1.15 +
    1.16 +  ui.box_row{ class = "head", content = function()
    1.17 +    ui.box_col{ class = "left name", content = area.name } 
    1.18 +    ui.box_col{ class = "right", content = _("#{direct_count}+#{delegated_count} Mitglieder", {
    1.19 +      direct_count = area.direct_member_count,
    1.20 +      delegated_count = area.member_weight - area.direct_member_count 
    1.21 +    } ) }
    1.22 +  end }
    1.23 +
    1.24 +  if area.description and #area.description > 0 then
    1.25 +    ui.box_row{ class = "description", content = function() ui.box_col{ content = area.description } end }
    1.26 +  end
    1.27 +  
    1.28 +  ui.box_row{ class = "member_count", content = function()
    1.29 +  end }
    1.30 +
    1.31 +  ui.box_row{ content = function()
    1.32 +    ui.box_col{ class = "left", content = function()
    1.33 +      execute.view{ module = "lf2", view = "_avatars", params = { members = trustees, arrows = true, size = "small" } }
    1.34 +    end }
    1.35 +    ui.box_col{ class = "right", content = function()
    1.36 +      ui.tag{ content = _"[Change] or [revoke] area delegation [prefix]" }
    1.37 +      ui.link{ text = _"[Change] or [revoke] area delegation [change]" }
    1.38 +      ui.tag{ content = _"[Change] or [revoke] area delegation [midpart]" }
    1.39 +      ui.link{ text = _"[Change] or [revoke] area delegation [revoke]" }
    1.40 +      ui.tag{ content = _"[Change] or [revoke] area delegation [suffix]" }
    1.41 +    end }
    1.42 +  end }
    1.43 +
    1.44 +  ui.box_row{ content = function()
    1.45 +    ui.box_col{ class = "left", content = function()
    1.46 +      if membership then
    1.47 +        ui.image{ static = "lf2/icon_star.png" }
    1.48 +        slot.put(" ", _"You are member of this area")
    1.49 +      else
    1.50 +        ui.link{
    1.51 +          module  = "membership", action = "update", params = { area_id = area.id },
    1.52 +          routing = { default = {
    1.53 +            mode = "redirect", module = "lf2", view = "area", id = area.id
    1.54 +          } },
    1.55 +          text = _"Become a member of this area"
    1.56 +        }
    1.57 +      end
    1.58 +    end }
    1.59 +    ui.box_col{ class = "right", content = function()
    1.60 +      if membership then
    1.61 +        ui.link{
    1.62 +          module  = "membership", action  = "update", params = { area_id = area.id, delete = true },
    1.63 +          routing = { default = {
    1.64 +            mode = "redirect", module = "lf2", view = "area", id = area.id
    1.65 +          } },
    1.66 +          text = _"Give up membership"
    1.67 +        }
    1.68 +      end
    1.69 +      if not trustees then
    1.70 +        if membership then
    1.71 +          slot.put(" · ")
    1.72 +        end
    1.73 +        ui.link{ text = _"Delegate area...", module = "lf2", view = "delegation" }
    1.74 +      end
    1.75 +    end }
    1.76 +  end }
    1.77 +
    1.78 +end }
    1.79 \ No newline at end of file

Impressum / About Us