Replace ParseDate with ParseTimeDetectLayout(+ tests)

This commit is contained in:
TeoV
2018-12-04 07:42:25 -08:00
committed by Dan Christian Bogos
parent 417e146b4d
commit bbc863f8ab
8 changed files with 50 additions and 76 deletions

View File

@@ -23,6 +23,7 @@ import (
"sort"
"time"
"github.com/cgrates/cgrates/config"
"github.com/cgrates/cgrates/guardian"
"github.com/cgrates/cgrates/utils"
"github.com/gorhill/cronexpr"
@@ -318,7 +319,8 @@ func (at *ActionTiming) Execute(successActions, failedActions chan *Action) (err
a.Balance = &BalanceFilter{}
}
if a.ExpirationString != "" { // if it's *unlimited then it has to be zero time
if expDate, parseErr := utils.ParseDate(a.ExpirationString); parseErr == nil {
if expDate, parseErr := utils.ParseTimeDetectLayout(a.ExpirationString,
config.CgrConfig().GeneralCfg().DefaultTimezone); parseErr == nil {
a.Balance.ExpirationDate = &time.Time{}
*a.Balance.ExpirationDate = expDate
}
@@ -355,7 +357,8 @@ func (at *ActionTiming) Execute(successActions, failedActions chan *Action) (err
}
if len(at.accountIDs) == 0 { // action timing executing without accounts
for _, a := range aac {
if expDate, parseErr := utils.ParseDate(a.ExpirationString); (a.Balance == nil || a.Balance.EmptyExpirationDate()) &&
if expDate, parseErr := utils.ParseTimeDetectLayout(a.ExpirationString,
config.CgrConfig().GeneralCfg().DefaultTimezone); (a.Balance == nil || a.Balance.EmptyExpirationDate()) &&
parseErr == nil && !expDate.IsZero() {
a.Balance.ExpirationDate = &time.Time{}
*a.Balance.ExpirationDate = expDate