dashfolders: allows phantomjs rendering for alerting

Makes the alerting user an admin when rendering a png
for emails
This commit is contained in:
Daniel Lee 2017-06-22 02:43:33 +02:00
parent 691ff32ae9
commit 446104d120
2 changed files with 19 additions and 13 deletions

View File

@ -21,14 +21,15 @@ import (
)
type RenderOpts struct {
Path string
Width string
Height string
Timeout string
OrgId int64
UserId int64
OrgRole models.RoleType
Timezone string
Path string
Width string
Height string
Timeout string
OrgId int64
UserId int64
OrgRole models.RoleType
Timezone string
IsAlertContext bool
}
var rendererLog log.Logger = log.New("png-renderer")
@ -75,7 +76,11 @@ func RenderToPng(params *RenderOpts) (string, error) {
pngPath, _ := filepath.Abs(filepath.Join(setting.ImagesDir, util.GetRandomString(20)))
pngPath = pngPath + ".png"
renderKey := middleware.AddRenderAuthKey(params.OrgId, params.UserId, params.OrgRole)
orgRole := params.OrgRole
if params.IsAlertContext {
orgRole = models.ROLE_ADMIN
}
renderKey := middleware.AddRenderAuthKey(params.OrgId, params.UserId, orgRole)
defer middleware.RemoveRenderAuthKey(renderKey)
cmdArgs := []string{

View File

@ -79,10 +79,11 @@ func (n *notificationService) uploadImage(context *EvalContext) (err error) {
}
renderOpts := &renderer.RenderOpts{
Width: "800",
Height: "400",
Timeout: "30",
OrgId: context.Rule.OrgId,
Width: "800",
Height: "400",
Timeout: "30",
OrgId: context.Rule.OrgId,
IsAlertContext: true,
}
if slug, err := context.GetDashboardSlug(); err != nil {