From ae14c430cc72acdebea8c9abdaf5e72c62da3163 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E8=BD=A9?= Date: Sun, 15 Jan 2023 13:48:40 +0800 Subject: [PATCH] fix(notify): send msg with custom brand (#15791) --- pkg/notify/models/event_template.go | 10 +++++++--- pkg/notify/models/template.go | 13 ------------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/pkg/notify/models/event_template.go b/pkg/notify/models/event_template.go index 47a719b93e..7dc59c6549 100644 --- a/pkg/notify/models/event_template.go +++ b/pkg/notify/models/event_template.go @@ -96,15 +96,19 @@ func (lt *SLocalTemplateManager) detailsDisplay(resourceType string, details *js func (lt *SLocalTemplateManager) FillWithTemplate(ctx context.Context, lang string, no notifyv2.SNotification) (params rpcapi.SendParams, err error) { out, event := rpcapi.SendParams{}, no.Event rtStr, aStr, resultStr := event.ResourceType(), string(event.Action()), string(event.Result()) - dict, err := jsonutils.ParseString(no.Message) + msgObj, err := jsonutils.ParseString(no.Message) if err != nil { return out, errors.Wrapf(err, "unable to parse json from %q", no.Message) } + msg := msgObj.(*jsonutils.JSONDict) + if info, _ := TemplateManager.GetCompanyInfo(ctx); len(info.Name) > 0 { + msg.Set("brand", jsonutils.NewString(info.Name)) + } webhookMsg := jsonutils.NewDict() webhookMsg.Set("resource_type", jsonutils.NewString(rtStr)) webhookMsg.Set("action", jsonutils.NewString(aStr)) webhookMsg.Set("result", jsonutils.NewString(resultStr)) - webhookMsg.Set("resource_details", dict) + webhookMsg.Set("resource_details", msg) if no.ContactType == api.WEBHOOK { return rpcapi.SendParams{ Title: no.Event.StringWithDeli("_"), @@ -130,7 +134,7 @@ func (lt *SLocalTemplateManager) FillWithTemplate(ctx context.Context, lang stri resultDis = resultStr } - lt.detailsDisplay(rtStr, dict.(*jsonutils.JSONDict), tag) + lt.detailsDisplay(rtStr, msg, tag) templateParams := webhookMsg templateParams.Set("advance_days", jsonutils.NewInt(int64(no.AdvanceDays))) diff --git a/pkg/notify/models/template.go b/pkg/notify/models/template.go index 6c6d2a1211..65bd720419 100644 --- a/pkg/notify/models/template.go +++ b/pkg/notify/models/template.go @@ -132,19 +132,6 @@ type SCompanyInfo struct { } func (tm *STemplateManager) GetCompanyInfo(ctx context.Context) (SCompanyInfo, error) { - // fetch copyright and logo - /*session := auth.GetAdminSession(ctx, "", "") - obj, err := yunionagent.Info.Get(session, "info", jsonutils.NewDict()) - if err != nil { - return SCompanyInfo{}, err - } - var info SCompanyInfo - err = obj.Unmarshal(&info) - if err != nil { - return SCompanyInfo{}, err - } - return info, nil - */ return SCompanyInfo{ Name: options.Options.GetPlatformName(appctx.Lang(ctx)), }, nil