| rev | 
   line source | 
| 
bsw@515
 | 
     1 MemberApplication = mondelefant.new_class()
 | 
| 
bsw@515
 | 
     2 MemberApplication.table = 'member_application'
 | 
| 
bsw/jbe@1309
 | 
     3 
 | 
| 
bsw/jbe@1309
 | 
     4 MemberApplication:add_reference{
 | 
| 
bsw/jbe@1309
 | 
     5   mode          = 'm1',
 | 
| 
bsw/jbe@1309
 | 
     6   to            = "SystemApplication",
 | 
| 
bsw/jbe@1309
 | 
     7   this_key      = 'system_application_id',
 | 
| 
bsw/jbe@1309
 | 
     8   that_key      = 'id',
 | 
| 
bsw/jbe@1309
 | 
     9   ref           = 'system_application'
 | 
| 
bsw/jbe@1309
 | 
    10 }
 | 
| 
bsw/jbe@1309
 | 
    11 
 | 
| 
bsw/jbe@1309
 | 
    12 function MemberApplication:get_selector_by_member_id_and_system_application_id(member_id, system_application_id)
 | 
| 
bsw/jbe@1309
 | 
    13   local selector = self:new_selector()
 | 
| 
bsw/jbe@1309
 | 
    14   selector:add_where{ "member_id = ?", member_id }
 | 
| 
bsw/jbe@1309
 | 
    15   selector:add_where{ "system_application_id = ?", system_application_id }
 | 
| 
bsw/jbe@1309
 | 
    16   selector:optional_object_mode()
 | 
| 
bsw/jbe@1309
 | 
    17   return selector
 | 
| 
bsw/jbe@1309
 | 
    18 end
 | 
| 
bsw/jbe@1309
 | 
    19 
 | 
| 
bsw/jbe@1309
 | 
    20 function MemberApplication:by_member_id_and_system_application_id(member_id, system_application_id)
 | 
| 
bsw/jbe@1309
 | 
    21   local member_application = self:get_selector_by_member_id_and_system_application_id(member_id, system_application_id)
 | 
| 
bsw/jbe@1309
 | 
    22     :optional_object_mode()
 | 
| 
bsw/jbe@1309
 | 
    23     :exec()
 | 
| 
bsw/jbe@1309
 | 
    24   return member_application
 | 
| 
bsw/jbe@1309
 | 
    25 end
 | 
| 
bsw/jbe@1309
 | 
    26 
 | 
| 
bsw/jbe@1309
 | 
    27 function MemberApplication:get_selector_by_member_id_and_domain(member_id, domain)
 | 
| 
bsw/jbe@1309
 | 
    28   local selector = self:new_selector()
 | 
| 
bsw/jbe@1309
 | 
    29   selector:add_where{ "member_id = ?", member_id }
 | 
| 
bsw/jbe@1309
 | 
    30   selector:add_where{ "domain = ?", domain }
 | 
| 
bsw/jbe@1309
 | 
    31   selector:optional_object_mode()
 | 
| 
bsw/jbe@1309
 | 
    32   return selector
 | 
| 
bsw/jbe@1309
 | 
    33 end
 | 
| 
bsw/jbe@1309
 | 
    34 
 | 
| 
bsw/jbe@1309
 | 
    35 function MemberApplication:by_member_id_and_domain(member_id, domain)
 | 
| 
bsw/jbe@1309
 | 
    36   local member_application = self:get_selector_by_member_id_and_domain(member_id, domain)
 | 
| 
bsw/jbe@1309
 | 
    37     :optional_object_mode()
 | 
| 
bsw/jbe@1309
 | 
    38     :exec()
 | 
| 
bsw/jbe@1309
 | 
    39   return member_application
 | 
| 
bsw/jbe@1309
 | 
    40 end
 | 
| 
bsw/jbe@1309
 | 
    41 
 | 
| 
bsw/jbe@1309
 | 
    42 function MemberApplication:by_member_id(member_id)
 | 
| 
bsw/jbe@1309
 | 
    43   local member_applications = self:new_selector()
 | 
| 
bsw/jbe@1309
 | 
    44     :add_where{ "member_id = ?", member_id }
 | 
| 
bsw/jbe@1309
 | 
    45     :exec()
 | 
| 
bsw/jbe@1309
 | 
    46   return member_applications
 | 
| 
bsw/jbe@1309
 | 
    47 end
 | 
| 
bsw/jbe@1309
 | 
    48 
 | 
| 
bsw/jbe@1309
 | 
    49 function MemberApplication:by_member_id_with_domain(member_id)
 | 
| 
bsw/jbe@1309
 | 
    50   local member_applications = self:new_selector()
 | 
| 
bsw/jbe@1309
 | 
    51     :add_where{ "member_id = ?", member_id }
 | 
| 
bsw/jbe@1309
 | 
    52     :add_where( "domain NOTNULL" )
 | 
| 
bsw/jbe@1309
 | 
    53     :exec()
 | 
| 
bsw/jbe@1309
 | 
    54   return member_applications
 | 
| 
bsw/jbe@1309
 | 
    55 end
 | 
| 
bsw/jbe@1309
 | 
    56 
 | 
| 
bsw/jbe@1309
 | 
    57 function MemberApplication:by_member_id_and_origin(member_id, origin)
 | 
| 
bsw/jbe@1309
 | 
    58   local domain = string.match(string.lower(origin), "^https://(.+)")
 | 
| 
bsw/jbe@1309
 | 
    59   if not domain then
 | 
| 
bsw/jbe@1309
 | 
    60     return
 | 
| 
bsw/jbe@1309
 | 
    61   end
 | 
| 
bsw/jbe@1309
 | 
    62   local member_application = self:get_selector_by_member_id_and_domain(member_id, domain)
 | 
| 
bsw/jbe@1309
 | 
    63     :optional_object_mode()
 | 
| 
bsw/jbe@1309
 | 
    64     :exec()
 | 
| 
bsw/jbe@1309
 | 
    65   return member_application
 | 
| 
bsw/jbe@1309
 | 
    66 end
 |