annotate model/supporter.lua @ 274:aec9df5b4cd3
More optical enhancements and repositioning of elements
 | author | 
 bsw | 
 | date | 
 Sun Feb 12 12:20:19 2012 +0100 (2012-02-12) | 
 | parents | 
 afd9f769c7ae  | 
 | children | 
  | 
 
 | rev | 
   line source | 
| 
bsw/jbe@0
 | 
     1 Supporter = mondelefant.new_class()
 | 
| 
bsw/jbe@0
 | 
     2 Supporter.table = 'supporter'
 | 
| 
bsw/jbe@0
 | 
     3 Supporter.primary_key = { "initiative_id", "member_id" }
 | 
| 
bsw/jbe@0
 | 
     4 
 | 
| 
bsw/jbe@0
 | 
     5 Supporter:add_reference{
 | 
| 
bsw/jbe@0
 | 
     6   mode          = 'm1',
 | 
| 
bsw/jbe@0
 | 
     7   to            = "Initiative",
 | 
| 
bsw/jbe@0
 | 
     8   this_key      = 'initiative_id',
 | 
| 
bsw/jbe@0
 | 
     9   that_key      = 'id',
 | 
| 
bsw/jbe@0
 | 
    10   ref           = 'initiative',
 | 
| 
bsw/jbe@0
 | 
    11 }
 | 
| 
bsw/jbe@0
 | 
    12 
 | 
| 
bsw/jbe@0
 | 
    13 Supporter:add_reference{
 | 
| 
bsw/jbe@0
 | 
    14   mode          = 'm1',
 | 
| 
bsw/jbe@0
 | 
    15   to            = "Member",
 | 
| 
bsw/jbe@0
 | 
    16   this_key      = 'member_id',
 | 
| 
bsw/jbe@0
 | 
    17   that_key      = 'id',
 | 
| 
bsw/jbe@0
 | 
    18   ref           = 'member',
 | 
| 
bsw/jbe@0
 | 
    19 }
 | 
| 
bsw/jbe@0
 | 
    20 
 | 
| 
bsw/jbe@0
 | 
    21 function Supporter:by_pk(initiative_id, member_id)
 | 
| 
bsw/jbe@0
 | 
    22   return self:new_selector()
 | 
| 
bsw/jbe@0
 | 
    23     :add_where{ "initiative_id = ?", initiative_id }
 | 
| 
bsw/jbe@0
 | 
    24     :add_where{ "member_id = ?", member_id }
 | 
| 
bsw/jbe@0
 | 
    25     :optional_object_mode()
 | 
| 
bsw/jbe@0
 | 
    26     :exec()
 | 
| 
bsw/jbe@0
 | 
    27 end
 | 
| 
bsw/jbe@5
 | 
    28 
 | 
| 
bsw/jbe@5
 | 
    29 function Supporter.object:has_critical_opinion()
 | 
| 
bsw/jbe@5
 | 
    30   return Opinion:new_selector()
 | 
| 
bsw/jbe@5
 | 
    31     :add_where{ "initiative_id = ?", self.initiative_id }
 | 
| 
bsw/jbe@5
 | 
    32     :add_where{ "member_id = ?", self.member_id }
 | 
| 
bsw/jbe@5
 | 
    33     :add_where("(degree = -2 AND fulfilled) OR (degree = 2 AND NOT fulfilled)")
 | 
| 
bsw/jbe@5
 | 
    34     :limit(1)
 | 
| 
bsw/jbe@5
 | 
    35     :exec()[1] and true or false
 | 
| 
bsw/jbe@5
 | 
    36 end |