Bugfix #47: Navigation on initial view

This commit is contained in:
Thorsten Sommer 2015-07-10 14:37:33 +02:00
parent 86121b733d
commit 44b236e2ef

View File

@ -39,13 +39,21 @@ func HandlerWebLog(response http.ResponseWriter, request *http.Request) {
data.Sender = DeviceDatabase.ReadSenderNames()
data.MessageNames = DeviceDatabase.ReadMessageNames()
// Get the current page as number:
currentPage := request.FormValue(`CurrentPage`)
if currentPage != `` {
if number, err := strconv.Atoi(currentPage); err != nil {
Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelERROR, LM.SeverityNone, LM.ImpactNone, LM.MessageNameEXECUTE, `Was not able to parse the page number.`, err.Error())
} else {
currentPageNumber = number
}
}
// To less parameters?
if countParameters < 9 {
// Initial view => first page (latest logs)
data.Events, lastPageNumber = readLatest()
data.SetLiveView = true
data.CurrentPage = `1`
data.LastPage = fmt.Sprintf("%d", lastPageNumber)
if currentPageNumber+1 > lastPageNumber {
data.NextPage = fmt.Sprintf("%d", lastPageNumber)
} else {
@ -53,6 +61,13 @@ func HandlerWebLog(response http.ResponseWriter, request *http.Request) {
}
data.PreviousPage = `1`
data.CurrentLevel = `*`
data.CurrentTimeRange = `*`
data.CurrentCategory = `*`
data.CurrentImpact = `*`
data.CurrentSeverity = `*`
data.CurrentMessageName = `*`
data.CurrentSender = `*`
} else {
// Case: Custom view
currentLevel := request.FormValue(`Level`)
@ -62,18 +77,8 @@ func HandlerWebLog(response http.ResponseWriter, request *http.Request) {
currentSeverity := request.FormValue(`Severity`)
currentMessageName := request.FormValue(`MSGName`)
currentSender := request.FormValue(`Sender`)
currentPage := request.FormValue(`CurrentPage`)
currentLiveView := request.FormValue(`LiveView`)
// Get the current page as number:
if currentPage != `` {
if number, err := strconv.Atoi(currentPage); err != nil {
Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelERROR, LM.SeverityNone, LM.ImpactNone, LM.MessageNameEXECUTE, `Was not able to parse the page number.`, err.Error())
} else {
currentPageNumber = number
}
}
// Store the events for the template:
data.Events, lastPageNumber = readCustom(currentTimeRange, currentLevel, currentCategory, currentImpact, currentSeverity, currentMessageName, currentSender, currentPageNumber)
@ -126,6 +131,7 @@ func HandlerWebLog(response http.ResponseWriter, request *http.Request) {
} else {
data.CurrentSender = `*`
}
}
// Calculate the current, last, previous and next page:
if currentPage != `` {
@ -153,7 +159,6 @@ func HandlerWebLog(response http.ResponseWriter, request *http.Request) {
}
data.PreviousPage = `1`
}
}
// Write the MIME type and execute the template:
MimeTypes.Write2HTTP(response, MimeTypes.TypeWebHTML)