liquid_feedback_frontend

diff model/issue.lua @ 551:c1dc3b14a4f3

Initiative and initiative member_info preloading
author bsw
date Fri Jun 15 19:00:43 2012 +0200 (2012-06-15)
parents 42d070777353
children c4b878748205
line diff
     1.1 --- a/model/issue.lua	Tue May 29 20:52:49 2012 +0200
     1.2 +++ b/model/issue.lua	Fri Jun 15 19:00:43 2012 +0200
     1.3 @@ -31,7 +31,8 @@
     1.4    this_key      = 'id',
     1.5    that_key      = 'issue_id',
     1.6    ref           = 'initiatives',
     1.7 -  back_ref      = 'issue'
     1.8 +  back_ref      = 'issue',
     1.9 +  default_order = 'initiative.rank, initiative.supporter_count DESC, id'
    1.10  }
    1.11  
    1.12  Issue:add_reference{
    1.13 @@ -159,14 +160,22 @@
    1.14    local areas = self:load("area")
    1.15    areas:load("unit")
    1.16    self:load("policy")
    1.17 -  self:load("member_info", { member_id = member_id })
    1.18 +  if member_id then
    1.19 +    self:load("member_info", { member_id = member_id })
    1.20 +  end
    1.21 +  local initiatives = self:load("initiatives")
    1.22 +  initiatives:load_everything_for_member_id(member_id)
    1.23  end
    1.24  
    1.25  function Issue.object:load_everything_for_member_id(member_id)
    1.26    local areas = self:load("area")
    1.27    areas:load("unit")
    1.28    self:load("policy")
    1.29 -  self:load("member_info", { member_id = member_id })
    1.30 +  if member_id then
    1.31 +    self:load("member_info", { member_id = member_id })
    1.32 +  end
    1.33 +  local initiatives = self:load("initiatives")
    1.34 +  initiatives:load_everything_for_member_id(member_id)
    1.35  end
    1.36  
    1.37  function Issue:get_state_name_for_state(value)
    1.38 @@ -281,4 +290,4 @@
    1.39  
    1.40  function Issue.object_get:etherpad_url()
    1.41    return config.etherpad.base_url .. "p/" .. config.etherpad.group_id .. "$Issue" .. self.id
    1.42 -end
    1.43 \ No newline at end of file
    1.44 +end

Impressum / About Us