liquid_feedback_frontend
view app/main/api/area.lua @ 118:93f4e465b50d
add initiator support in delegation
if a delegation is issued from the initiative view, the initiators
from that one are added to the delegation target list. this makes it easier to delegate to the author without the need to add him to the contact list.
if a delegation is issued from the initiative view, the initiators
from that one are added to the delegation target list. this makes it easier to delegate to the author without the need to add him to the contact list.
| author | Daniel Poelzleithner <poelzi@poelzi.org> | 
|---|---|
| date | Mon Sep 20 20:32:04 2010 +0200 (2010-09-20) | 
| parents | 733f65c0c0a0 | 
| children | 
 line source
     1 local id     = param.get("id")
     2 local min_id = param.get("min_id")
     3 local max_id = param.get("max_id")
     4 local order  = param.get("order")
     5 local limit  = param.get("limit", atom.integer)
     7 local areas_selector = Area:new_selector()
     9 if id then
    10   areas_selector:add_where{"area.id = ?", id}
    11 end
    13 if min_id then
    14   areas_selector:add_where{"area.id >= ?", min_id}
    15 end
    17 if max_id then
    18   areas_selector:add_where{"area.id <= ?", max_id}
    19 end
    21 if order == "name" then
    22   areas_selector:add_order_by("area.name")
    23 end
    25 if order == "member_weight" then
    26   areas_selector:add_order_by("area.member_weight DESC")
    27 end
    29 areas_selector:add_order_by("area.id")
    31 if limit then
    32   initiatives_selector:limit(limit)
    33 end
    35 local api_engine = param.get("api_engine") or "xml"
    37 local fields = {
    39   { name = "id",                   field = "area.id" },
    40   { name = "name",                 field = "area.name" },
    41   { name = "description",          field = "area.description" },
    42   { name = "direct_member_count",  field = "area.direct_member_count" },
    43   { name = "member_weight",        field = "area.member_weight" },
    44   { name = "autoreject_weight",    field = "area.autoreject_weight" },
    45   { name = "active",               field = "area.active" },
    47 }
    49 util.autoapi{
    50   relation_name = "area",
    51   selector      = areas_selector,
    52   fields        = fields,
    53   api_engine    = api_engine
    54 }
