# HG changeset patch # User bsw # Date 1289227763 -3600 # Node ID e60a26bf535b45a2c74d17591603d73e7ac4515d # Parent a9c6c11dd86cbf2b3a290a71b69a5be803b5f2f1 Delegation module refactored diff -r a9c6c11dd86c -r e60a26bf535b app/main/delegation/new.lua --- a/app/main/delegation/new.lua Mon Nov 08 15:41:14 2010 +0100 +++ b/app/main/delegation/new.lua Mon Nov 08 15:49:23 2010 +0100 @@ -51,13 +51,10 @@ end) - -local contact_members = Member:new_selector() - :add_where{ "contact.member_id = ?", app.session.member.id } - :join("contact", nil, "member.id = contact.other_member_id") - :add_order_by("member.name") - :exec() - +local contact_members = Member:build_selector{ + is_contact_of_member_id = app.session.member_id, + order = "name" +}:exec() ui.form{ attr = { class = "vertical" }, diff -r a9c6c11dd86c -r e60a26bf535b model/member.lua --- a/model/member.lua Mon Nov 08 15:41:14 2010 +0100 +++ b/model/member.lua Mon Nov 08 15:49:23 2010 +0100 @@ -223,11 +223,19 @@ ref = 'supported_initiatives' } +Member:new_selector() + :add_order_by("member.name") + :exec() + function Member:build_selector(args) local selector = self:new_selector() if args.active ~= nil then selector:add_where{ "member.active = ?", args.active } end + if args.is_contact_of_member_id then + selector:join("contact", "__model_member__contact", "member.id = __model_member__contact.other_member_id") + selector:add_where{ "__model_member__contact.member_id = ?", args.is_contact_of_member_id } + end if args.order then if args.order == "id" then selector:add_order_by("id")