index.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package api
  2. import (
  3. "github.com/torkelo/grafana-pro/pkg/api/dtos"
  4. "github.com/torkelo/grafana-pro/pkg/middleware"
  5. "github.com/torkelo/grafana-pro/pkg/setting"
  6. )
  7. func setIndexViewData(c *middleware.Context) error {
  8. settings, err := getFrontendSettings(c)
  9. if err != nil {
  10. return err
  11. }
  12. currentUser := &dtos.CurrentUser{
  13. IsSignedIn: c.IsSignedIn,
  14. Login: c.Login,
  15. Email: c.Email,
  16. Name: c.Name,
  17. AccountName: c.AccountName,
  18. AccountRole: c.AccountRole,
  19. GravatarUrl: dtos.GetGravatarUrl(c.Email),
  20. IsGrafanaAdmin: c.IsGrafanaAdmin,
  21. }
  22. c.Data["User"] = currentUser
  23. c.Data["Settings"] = settings
  24. c.Data["AppUrl"] = setting.AppUrl
  25. c.Data["AppSubUrl"] = setting.AppSubUrl
  26. return nil
  27. }
  28. func Index(c *middleware.Context) {
  29. if err := setIndexViewData(c); err != nil {
  30. c.Handle(500, "Failed to get settings", err)
  31. return
  32. }
  33. c.HTML(200, "index")
  34. }
  35. func NotFound(c *middleware.Context) {
  36. if c.IsApiRequest() {
  37. c.JsonApiErr(200, "Not found", nil)
  38. return
  39. }
  40. if err := setIndexViewData(c); err != nil {
  41. c.Handle(500, "Failed to get settings", err)
  42. return
  43. }
  44. c.HTML(404, "index")
  45. }