X-Git-Url: https://git.hcoop.net/hcoop/portal.git/blobdiff_plain/f47fcc40cda777cf746ac66d857ddfe04243534f..10e55875c83d1d44a0b8d31ff1e49cfec843e9a2:/money.mlt diff --git a/money.mlt b/money.mlt index 331c079..af404c5 100644 --- a/money.mlt +++ b/money.mlt @@ -7,7 +7,7 @@ ref showNormal = true; if $"hist" <> "" then showNormal := false; val id = Web.stoi ($"hist") %> - +
<% foreach (amount, trn) in Money.listUserTransactions id do %> @@ -20,7 +20,7 @@ if $"hist" <> "" then

Transactions

-
Date Description Amount
<% #d trn %> <% Web.html (#descr trn) %> <% amount %>/<% #amount trn %>
+
<% foreach trn in Money.listTransactions () do %> @@ -29,7 +29,29 @@ if $"hist" <> "" then | _ => %><% end; if admin then - %> + %> + <% +end +%><% +end %> +
Date Description Amount Last modified Participants
<% #d trn %> <% Web.html (#descr trn) %> <% #amount trn %> <% #stamp trn %>multi[Hosting] [Payment] [Other][Bill] [Payment] [Other][Delete]
+ +<% elseif $"cmd" = "primary" then + val admin = Group.inGroupName "money"; + showNormal := false %> + +

Primary Transactions

+ + + +<% foreach (amt, trn) in Money.listUserTransactions (valOf (Init.userNameToId "hcoop")) do %> + +<% switch Money.listChargesWithNames (#id trn) of + [(name, cha)] => %><% + | _ => %><% +end; +if admin then + %><% end %><% @@ -47,7 +69,7 @@ end %> <% switch Balance.listBalanceUsers (#id bal) of [] => | (user :: users) => - %><% Web.html (#name user) %><% + %><% Web.html (#name user) %>[History]<% foreach user in users do %>, <% Web.html (#name user) %><% end @@ -153,6 +175,58 @@ end %> %>

Hosting transaction modified.

+<% elseif $"cmd" = "bill" then + Group.requireGroupName "money"; + showNormal := false %> + +

New bill for the co-op

+ + + +
Date Description Amount Last modified Participants
<% #d trn %> <% Web.html (#descr trn) %> <% #amount trn %> <% #stamp trn %><% name %>multi[Bill] [Payment] [Other] [Delete]
+ + + + +
Description:
Date:
Amount:
+ +<% elseif $"cmd" = "bill2" then + Group.requireGroupName "money"; + val id = Money.addTransaction ($"descr", Util.neg (Web.stor ($"amount")), $"d"); + Money.addCharge {trn = id, usr = valOf (Init.userNameToId "hcoop"), amount = Util.neg (Web.stor ($"amount"))}; + Money.applyCharges id; + + %>

Bill added.

+ +<% elseif $"modBill" <> "" then + Group.requireGroupName "money"; + showNormal := false; + val id = Web.stoi ($"modBill"); + val trn = Money.lookupTransaction id %> + +

Modify bill

+ + + + + + + + +
Description:
Date:
Amount:
+ +<% elseif $"saveBill" <> "" then + Group.requireGroupName "money"; + val id = Web.stoi ($"saveBill"); + val trn = Money.lookupTransaction id; + + Money.clearCharges id; + Money.modTransaction {trn with descr = $"descr", d = $"d", amount = Util.neg (Web.stor ($"amount"))}; + Money.addCharge {trn = id, usr = valOf (Init.userNameToId "hcoop"), amount = Util.neg (Web.stor ($"amount"))}; + Money.applyCharges id; + + %>

Bill modified.

+ <% elseif $"cmd" = "evenForm" then Group.requireGroupName "money"; showNormal := false %> @@ -211,6 +285,11 @@ end %> %>

Payment transaction added.

+<% elseif $"cmd" = "stripeApply" then + val stripePmt = Money.lookupStripePayment ($"stripeId"); + val txid = Money.applyStripePayment stripePmt; +%>

Stripe Payment Processed (Transaction <% txid %>)

+ <% elseif $"modPay" <> "" then Group.requireGroupName "money"; showNormal := false; @@ -265,6 +344,27 @@ end %> +<% elseif $"cmd" = "dues" then + Group.requireGroupName "money"; + showNormal := false %> + +

Monthly dues

+ +
+ + + + + + +
Description:
Date:
Amount/pledge:
+ +<% elseif $"cmd" = "dues2" then + Group.requireGroupName "money"; + Money.billDues {descr = $"descr", base = Web.stor ($"base"), date = $"d"}; + + %>

Dues debits added.

+ <% elseif $"cmd" = "even" then Group.requireGroupName "money"; val id = Money.addTransaction ($"descr", Web.stor ($"amount"), $"d"); @@ -402,6 +502,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"); @@ -462,7 +579,7 @@ elseif $"cmd" = "checkout" then elseif $"cmd" = "delinq" then showNormal := false; val dqs = Money.delinquentPledgers () %> - +
    <% foreach dq in dqs do %> @@ -482,7 +599,8 @@ elseif $"cmd" = "freezeworthy" then
    Member Pledge Balance
    <% #name dq %> <% #shares dq %> $<% #balance dq %>
    <% foreach dq in dqs do %> - + +<% if #joinedThisMonth dq then %><% end %> <% end %>
    Member Balance
    <% #name dq %> $<% #balance dq %>
    <% #name dq %> $<% #balance dq %>(joined this month)
    @@ -492,7 +610,8 @@ elseif $"cmd" = "freezeworthy" then <% foreach dq in dqs do %> - + +<% if #joinedThisMonth dq then %><% end %> <% end %>
    Member Balance
    <% #name dq %> $<% #balance dq %>
    <% #name dq %> $<% #balance dq %>(joined this month)
    @@ -501,16 +620,19 @@ elseif $"cmd" = "freezeworthy" then <% if showNormal then val you = Init.getUser(); val bal = Balance.lookupBalance (#bal you); - val deposit = Balance.depositAmount (#id bal) %> + val deposit = Balance.depositAmount (#id bal); + val showBal = Util.sub (#amount bal, deposit) %> -

    Your balance: $<% Util.sub (#amount bal, deposit) %>
    -Deposit: $<% deposit %> (3 months of dues at the minimal pledge level)

    +

    Your balance: $<% showBal %>
    +Deposit: $<% deposit %> (3 months of dues at the minimal pledge level)
    +Co-op balance: $<% #amount (Balance.lookupBalance (valOf (Balance.balanceNameToId "hcoop"))) %>

    <% if (iff Group.inGroupName "money" then $"lookback" = "" else $"audit" <> "") then %>

    Sum of all active balances: $<% Balance.sumOwnedBalances () %>

    <% end %> List all transactions
    +List primary transactions
    List active balances
    List negative active balances
    List members who deserve account freezing
    @@ -523,8 +645,10 @@ Deposit: $<% deposit %> (3 months of dues at the minimal pl Switch to regular member view

    New transaction:
    -Hosting bill
    +Bill for the co-op
    Payment from member
    +Monthly dues
    +New hosting bill (old style)
    Generic/even

    Equalize balances
    @@ -537,46 +661,84 @@ Deposit: $<% deposit %> (3 months of dues at the minimal pl -

    Look up a Google Checkout e-mail address

    +

    Look up a Real Name

    - - + +
    +

    Apply Stripe Payments

    + + + + + + +<% foreach stripePmt in Money.listAllPendingStripePayments () do %> + + + + + + + + +<% end %> +
    DateMemberName on CardAmount (After Fees)
    <% #name (Init.lookupUser (#webuser_id stripePmt)) %><% #paid_on stripePmt %><% #card_name stripePmt %>$<% #net stripePmt %>
    + + + +
    +
    +

    Most recent transactions

    - + + +
    <% foreach trn in Money.listTransactionsLimit 20 do %> - + <% switch Money.listChargesWithNames (#id trn) of [(name, cha)] => %><% | _ => %><% end %> - + <% end %>
    Date Description Amount Participants Replace Delete
    <% #d trn %> <% Web.html (#descr trn) %> <% #amount trn %>
    <% #d trn %> <% Web.html (#descr trn) %> <% #amount trn %><% name %>multi[Hosting] [Payment] [Other][Bill] [Payment] [Other] [Delete]
    <% else %>
    Switch to audit view
    -<% val lookback = case $"lookback" of "" => 20 | lb => Web.stoi lb; +<% val lookback = case $"lookback" of "" => 20 | "inf" => 0 | lb => Web.stoi lb; @payment [] %>

    Your recent account activity

    - Show most recent transactions. + Show most recent transactions.
    - - -<% foreach (amount, trn) in Money.listUserTransactionsLimit (Init.getUserId (), lookback) do %> - -<% end %> +<% ref running = showBal; +val trans = iff lookback = 0 then + Money.listUserTransactions (Init.getUserId ()) + else + Money.listUserTransactionsLimit (Init.getUserId (), lookback) %> +
    Date Description Amount
    <% #d trn %> <% Web.html (#descr trn) %> <% amount %>/<% #amount trn %>
    + +<% foreach (amount, trn) in trans do %> + + + + +<% running := Util.sub (running, amount) +end %>
    Date Description Debit Credit Balance
    <% #d trn %> <% Web.html (#descr trn) %><% if Util.lt (amount, 0.0) then %><% amount %><% end %><% if Util.ge (amount, 0.0) then %><% amount %><% end %><% running %>
    +<% if lookback <> 0 then %> +Show all transactions
    +<% end %> <% end end %>