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

@ -29,6 +29,7 @@ type RenderOpts struct {
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

@ -83,6 +83,7 @@ func (n *notificationService) uploadImage(context *EvalContext) (err error) {
Height: "400",
Timeout: "30",
OrgId: context.Rule.OrgId,
IsAlertContext: true,
}
if slug, err := context.GetDashboardSlug(); err != nil {