From b1bb018a2ab06aa1608f599cb5b9cfa1806190e3 Mon Sep 17 00:00:00 2001 From: Clinton Ebadi Date: Fri, 15 Nov 2013 02:18:02 -0500 Subject: [PATCH] Search by real name in money matters I hear this will make the life of a treasurer much easier for that occasional member with out of date payment info. --- init.sig | 1 + init.sml | 6 ++++++ money.mlt | 24 ++++++++++++++++++++++++ 3 files changed, 31 insertions(+) diff --git a/init.sig b/init.sig index 303e1be..4c0ffa3 100644 --- a/init.sig +++ b/init.sig @@ -69,4 +69,5 @@ signature INIT = sig val searchPaypal : string -> user list val searchCheckout : string -> user list + val searchRealName : string -> user list end diff --git a/init.sml b/init.sml index ba3b2bf..789fcbc 100644 --- a/init.sml +++ b/init.sml @@ -311,4 +311,10 @@ fun searchCheckout checkout = WHERE checkout = ^(C.stringToSql (normEmail checkout)) ORDER BY name`) +fun searchRealName realname = + C.map (getDb ()) mkUserRow ($`SELECT id, name, rname, bal, joined, app, shares, paypal, checkout + FROM WebUser + WHERE rname ILIKE ^(C.stringToSql ("%" ^ realname ^ "%")) + ORDER BY name`) + end diff --git a/money.mlt b/money.mlt index dbad9a9..fd3cc86 100644 --- a/money.mlt +++ b/money.mlt @@ -497,6 +497,23 @@ end %> (nil, nil) => %>No matches.<% end +elseif $"cmd" = "realname" then + showNormal := false; + val users = Init.searchRealName ($"rname"); + + switch users of + _ :: _ => + %>

Members

+ + <% foreach user in users do %> +
  • <% #name user %> [add payment]
  • + <% end + end; + + switch users of + nil => %>No matches.<% + end + elseif $"cmd" = "checkout" then showNormal := false; val apps = App.searchCheckout ($"email"); @@ -646,6 +663,13 @@ Co-op balance: $<% #amount (Balance.lookupBalance (valOf (Balance.balanceNameToI +

    Look up a Real Name

    + +
    + + +
    +

    Most recent transactions

    -- 2.20.1