From e0476a31302b461fe3b1bb7498b38b8cabca538f Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Mon, 17 Feb 2014 14:50:35 +0200 Subject: [PATCH] Add members on balance creation --- engine/userbalance.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/engine/userbalance.go b/engine/userbalance.go index bec43bc74..79c86971b 100644 --- a/engine/userbalance.go +++ b/engine/userbalance.go @@ -113,6 +113,18 @@ func (ub *UserBalance) debitBalanceAction(a *Action) error { if !found && a.Balance.Value <= 0 { a.Balance.Value = -a.Balance.Value ub.BalanceMap[id] = append(ub.BalanceMap[id], a.Balance) + if a.Balance.SharedGroup != "" { + // add shared group member + sg, err := accountingStorage.GetSharedGroup(a.Balance.SharedGroup, false) + if err != nil || sg == nil { + //than problem + Logger.Warning(fmt.Sprintf("Could not get shared group: %v", a.Balance.SharedGroup)) + } else { + // add membere and save + sg.Members = append(sg.Members, ub.Id) + accountingStorage.SetSharedGroup(sg.Id, sg) + } + } } ub.executeActionTriggers(nil) return nil //ub.BalanceMap[id].GetTotalValue() @@ -256,7 +268,7 @@ CONNECT_FEE: func (ub *UserBalance) debitMinutesFromSharedBalances(sharedGroupName string, cc *CallCost, moneyBalances BalanceChain, count bool) { sharedGroup, err := accountingStorage.GetSharedGroup(sharedGroupName, false) if err != nil { - Logger.Warning(fmt.Sprintf("Could not get shared group: %v", sharedGroup)) + Logger.Warning(fmt.Sprintf("Could not get shared group: %v", sharedGroupName)) return } sharingMembers := sharedGroup.GetMembersExceptUser(ub.Id)