liquid_feedback_frontend

annotate model/member_application.lua @ 1532:3c15fea3f1c0

Added FirstLife group mirroring
author bsw
date Sun Oct 04 16:31:47 2020 +0200 (2020-10-04)
parents 32cc544d5a5b
children
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

Impressum / About Us