In case of not found Timing for Actions in TPReader query the DM

This commit is contained in:
TeoV
2019-11-12 10:44:26 +02:00
committed by Dan Christian Bogos
parent 89afc3e5e0
commit 6b67455e59
2 changed files with 31 additions and 34 deletions

View File

@@ -489,21 +489,18 @@ func (self *ApierV1) modifyBalance(aType string, attr *AttrAddBalance, reply *st
}
if attr.TimingIds != nil {
a.Balance.TimingIDs = utils.StringMapPointer(utils.ParseStringMap(*attr.TimingIds))
}
if attr.TimingIds != nil && *attr.TimingIds != "" {
timingIds := strings.Split(*attr.TimingIds, utils.INFIELD_SEP)
for _, timingID := range timingIds {
timing, err := self.DataManager.GetTiming(timingID, false, utils.NonTransactional)
for _, timingID := range strings.Split(*attr.TimingIds, utils.INFIELD_SEP) {
tmg, err := self.DataManager.GetTiming(timingID, false, utils.NonTransactional)
if err != nil {
return err
}
a.Balance.Timings = append(a.Balance.Timings, &engine.RITiming{
Years: timing.Years,
Months: timing.Months,
MonthDays: timing.MonthDays,
WeekDays: timing.WeekDays,
StartTime: timing.StartTime,
EndTime: timing.EndTime,
Years: tmg.Years,
Months: tmg.Months,
MonthDays: tmg.MonthDays,
WeekDays: tmg.WeekDays,
StartTime: tmg.StartTime,
EndTime: tmg.EndTime,
})
}
}
@@ -587,22 +584,18 @@ func (self *ApierV1) SetBalance(attr *utils.AttrSetBalance, reply *string) error
}
if attr.TimingIds != nil {
a.Balance.TimingIDs = utils.StringMapPointer(utils.ParseStringMap(*attr.TimingIds))
}
if attr.TimingIds != nil && *attr.TimingIds != "" {
timingIds := strings.Split(*attr.TimingIds, utils.INFIELD_SEP)
for _, timingID := range timingIds {
timing, err := self.DataManager.GetTiming(timingID, false, utils.NonTransactional)
for _, timingID := range strings.Split(*attr.TimingIds, utils.INFIELD_SEP) {
tmg, err := self.DataManager.GetTiming(timingID, false, utils.NonTransactional)
if err != nil {
return err
}
a.Balance.Timings = append(a.Balance.Timings, &engine.RITiming{
Years: timing.Years,
Months: timing.Months,
MonthDays: timing.MonthDays,
WeekDays: timing.WeekDays,
StartTime: timing.StartTime,
EndTime: timing.EndTime,
Years: tmg.Years,
Months: tmg.Months,
MonthDays: tmg.MonthDays,
WeekDays: tmg.WeekDays,
StartTime: tmg.StartTime,
EndTime: tmg.EndTime,
})
}
}

View File

@@ -593,18 +593,22 @@ func (tpr *TpReader) LoadActions() (err error) {
if tpact.TimingTags != "" {
timingIds := strings.Split(tpact.TimingTags, utils.INFIELD_SEP)
for _, timingID := range timingIds {
if timing, found := tpr.timings[timingID]; found {
acts[idx].Balance.Timings = append(acts[idx].Balance.Timings, &RITiming{
Years: timing.Years,
Months: timing.Months,
MonthDays: timing.MonthDays,
WeekDays: timing.WeekDays,
StartTime: timing.StartTime,
EndTime: timing.EndTime,
})
} else {
return fmt.Errorf("could not find timing: %v", timingID)
timing, found := tpr.timings[timingID]
if !found {
if timing, err = tpr.dm.GetTiming(timingID, false,
utils.NonTransactional); err != nil {
return fmt.Errorf("error: <%s> querying timing with id: <%s>",
err.Error(), timingID)
}
}
acts[idx].Balance.Timings = append(acts[idx].Balance.Timings, &RITiming{
Years: timing.Years,
Months: timing.Months,
MonthDays: timing.MonthDays,
WeekDays: timing.WeekDays,
StartTime: timing.StartTime,
EndTime: timing.EndTime,
})
}
}
}