liquid_feedback_frontend

diff model/delegation.lua @ 0:3bfb2fcf7ab9

Version alpha1
author bsw/jbe
date Wed Nov 18 12:00:00 2009 +0100 (2009-11-18)
parents
children 73dbc9e2bfd4 e3613831cd1e
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/model/delegation.lua	Wed Nov 18 12:00:00 2009 +0100
     1.3 @@ -0,0 +1,50 @@
     1.4 +Delegation = mondelefant.new_class()
     1.5 +Delegation.table = 'delegation'
     1.6 +
     1.7 +Delegation:add_reference{
     1.8 +  mode          = 'm1',
     1.9 +  to            = "Member",
    1.10 +  this_key      = 'truster_id',
    1.11 +  that_key      = 'id',
    1.12 +  ref           = 'truster',
    1.13 +}
    1.14 +
    1.15 +Delegation:add_reference{
    1.16 +  mode          = 'm1',
    1.17 +  to            = "Member",
    1.18 +  this_key      = 'trustee_id',
    1.19 +  that_key      = 'id',
    1.20 +  ref           = 'trustee',
    1.21 +}
    1.22 +
    1.23 +Delegation:add_reference{
    1.24 +  mode          = 'm1',
    1.25 +  to            = "Area",
    1.26 +  this_key      = 'area_id',
    1.27 +  that_key      = 'id',
    1.28 +  ref           = 'area',
    1.29 +}
    1.30 +
    1.31 +Delegation:add_reference{
    1.32 +  mode          = 'm1',
    1.33 +  to            = "Issue",
    1.34 +  this_key      = 'issue_id',
    1.35 +  that_key      = 'id',
    1.36 +  ref           = 'issue',
    1.37 +}
    1.38 +
    1.39 +function Delegation:by_pk(truster_id, area_id, issue_id)
    1.40 +  local selector = self:new_selector():optional_object_mode()
    1.41 +  selector:add_where{ "truster_id = ?", truster_id }
    1.42 +  if area_id then
    1.43 +    selector:add_where{ "area_id = ?",    area_id }
    1.44 +  else
    1.45 +    selector:add_where("area_id ISNULL")
    1.46 +  end
    1.47 +  if issue_id then
    1.48 +    selector:add_where{ "issue_id = ? ",  issue_id }
    1.49 +  else
    1.50 +    selector:add_where("issue_id ISNULL ")
    1.51 +  end
    1.52 +  return selector:exec()
    1.53 +end
    1.54 \ No newline at end of file

Impressum / About Us