liquid_feedback_frontend

annotate model/contact.lua @ 1062:f03fbffc1800

New layout for suggestion details view
author bsw
date Wed Jul 16 21:52:17 2014 +0200 (2014-07-16)
parents 701a5cf6b067
children
rev   line source
bsw/jbe@0 1 Contact = mondelefant.new_class()
bsw/jbe@0 2 Contact.table = 'contact'
bsw/jbe@0 3 Contact.primary_key = { "member_id", "other_member_id" }
bsw/jbe@0 4
bsw/jbe@0 5 Contact:add_reference{
bsw/jbe@0 6 mode = 'm1',
bsw/jbe@0 7 to = "Member",
bsw/jbe@0 8 this_key = 'member_id',
bsw/jbe@0 9 that_key = 'id',
bsw/jbe@0 10 ref = 'member',
bsw/jbe@0 11 }
bsw/jbe@0 12
bsw/jbe@0 13 Contact:add_reference{
bsw/jbe@0 14 mode = 'm1',
bsw/jbe@0 15 to = "Member",
bsw/jbe@0 16 this_key = 'other_member_id',
bsw/jbe@0 17 that_key = 'id',
bsw/jbe@0 18 ref = 'other_member',
bsw/jbe@0 19 }
bsw/jbe@0 20
bsw/jbe@0 21
bsw/jbe@0 22 function Contact:by_pk(member_id, other_member_id)
bsw/jbe@0 23 return self:new_selector()
bsw/jbe@0 24 :add_where{ "member_id = ?", member_id }
bsw/jbe@0 25 :add_where{ "other_member_id = ?", other_member_id }
bsw/jbe@0 26 :optional_object_mode()
bsw/jbe@0 27 :exec()
bsw/jbe@0 28 end
bsw@198 29
bsw@198 30 function Contact:build_selector(args)
bsw@198 31 local selector = Contact:new_selector()
bsw@597 32 selector:join("member", nil, "member.id = contact.other_member_id")
bsw@198 33 if args.member_id then
bsw@198 34 selector:add_where{ "member_id = ?", args.member_id }
bsw@198 35 end
bsw@1045 36 if args.public ~= nil then
bsw@1045 37 selector:add_where{ "public = ?", args.public }
bsw@1045 38 end
bsw@597 39 if args.order then
bsw@597 40 if args.order == "name" then
bsw@597 41 selector:add_order_by("member.name")
bsw@198 42 else
bsw@198 43 error("invalid order")
bsw@198 44 end
bsw@198 45 end
bsw@198 46 return selector
bsw@198 47 end

Impressum / About Us