From 8bfa0997bd75c0a2dd9dcfbb896ae86815900183 Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Thu, 11 Jun 2015 11:51:48 +0300 Subject: [PATCH] added *any timing tag --- engine/loader_csv_test.go | 2 +- engine/models.go | 10 +++++----- engine/tp_reader.go | 10 ++++++++++ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/engine/loader_csv_test.go b/engine/loader_csv_test.go index 6da9a089a..9fa518a79 100644 --- a/engine/loader_csv_test.go +++ b/engine/loader_csv_test.go @@ -308,7 +308,7 @@ func TestLoadDestinations(t *testing.T) { } func TestLoadTimimgs(t *testing.T) { - if len(csvr.timings) != 6 { + if len(csvr.timings) != 7 { t.Error("Failed to load timings: ", csvr.timings) } timing := csvr.timings["WORKDAYS_00"] diff --git a/engine/models.go b/engine/models.go index 17636ff22..abaafe132 100644 --- a/engine/models.go +++ b/engine/models.go @@ -78,8 +78,8 @@ type TpRatingPlan struct { Id int64 Tpid string Tag string `index:"0" re:"\w+\s*,\s*"` - DestratesTag string `index:"1" re:"\w+\s*,\s*"` - TimingTag string `index:"2" re:"\w+\s*,\s*"` + DestratesTag string `index:"1" re:"\w+\s*,\s*|\*any"` + TimingTag string `index:"2" re:"\w+\s*,\s*|\*any"` Weight float64 `index:"3" re:"\d+.?\d*"` CreatedAt time.Time } @@ -164,7 +164,7 @@ type TpAction struct { RatingSubject string `index:"8" re:"\w+\s*"` SharedGroup string `index:"9" re:"[0-9A-Za-z_;]*"` ExpiryTime string `index:"10" re:"\*\w+\s*|\+\d+[smh]\s*|\d+\s*"` - TimingTags string `index:"11" re:"[0-9A-Za-z_;]*"` + TimingTags string `index:"11" re:"[0-9A-Za-z_;]*|\*any"` Units float64 `index:"12" re:"\d+\s*"` BalanceWeight float64 `index:"13" re:"\d+\.?\d*\s*"` Weight float64 `index:"14" re:"\d+\.?\d*\s*"` @@ -176,7 +176,7 @@ type TpActionPlan struct { Tpid string Tag string `index:"0" re:"\w+\s*,\s*"` ActionsTag string `index:"1" re:"\w+\s*,\s*"` - TimingTag string `index:"2" re:"\w+\s*,\s*"` + TimingTag string `index:"2" re:"\w+\s*,\s*"|\*any` Weight float64 `index:"3" re:"\d+\.?\d*"` CreatedAt time.Time } @@ -198,7 +198,7 @@ type TpActionTrigger struct { BalanceRatingSubject string `index:"11" re:"\w+|\*any"` BalanceSharedGroup string `index:"12" re:"\w+|\*any"` BalanceExpiryTime string `index:"13" re:"\*\w+\s*|\+\d+[smh]\s*|\d+\s*"` - BalanceTimingTags string `index:"14" re:"[0-9A-Za-z_;]*"` + BalanceTimingTags string `index:"14" re:"[0-9A-Za-z_;]*|\*any"` BalanceWeight float64 `index:"15" re:"\d+\.?\d*"` MinQueuedItems int `index:"16" re:"\d+"` ActionsTag string `index:"17" re:"\w+"` diff --git a/engine/tp_reader.go b/engine/tp_reader.go index e73f4bbe8..b5bdafcc3 100644 --- a/engine/tp_reader.go +++ b/engine/tp_reader.go @@ -87,6 +87,16 @@ func (tpr *TpReader) LoadTimings() (err error) { } tpr.timings, err = TpTimings(tps).GetTimings() + // add *any timing tag + tpr.timings[utils.ANY] = &utils.TPTiming{ + TimingId: utils.ANY, + Years: utils.Years{}, + Months: utils.Months{}, + MonthDays: utils.MonthDays{}, + WeekDays: utils.WeekDays{}, + StartTime: "00:00:00", + EndTime: "", + } return err }