aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--widgets/compose.go42
1 files changed, 3 insertions, 39 deletions
diff --git a/widgets/compose.go b/widgets/compose.go
index 6e527cb..62aaafe 100644
--- a/widgets/compose.go
+++ b/widgets/compose.go
@@ -179,7 +179,8 @@ func (c *Composer) AddTemplate(template string, data interface{}) error {
if err != nil {
return err
}
- return c.addTemplate(bytes.NewReader(templateText))
+ c.PrependContents(bytes.NewReader(templateText))
+ return nil
}
func (c *Composer) AddTemplateFromString(template string, data interface{}) error {
@@ -191,44 +192,7 @@ func (c *Composer) AddTemplateFromString(template string, data interface{}) erro
if err != nil {
return err
}
- return c.addTemplate(bytes.NewReader(templateText))
-}
-
-func (c *Composer) addTemplate(tmpl io.Reader) error {
- reader, err := mail.CreateReader(tmpl)
- if err != nil {
- return errors.Wrap(err, "mail.CreateReader")
- }
- defer reader.Close()
-
- // populate header editors
- header := reader.Header
- mhdr := (*message.Header)(&header.Header)
- for _, editor := range c.editors {
- if mhdr.Has(editor.name) {
- editor.input.Set(mhdr.Get(editor.name))
- mhdr.Del(editor.name)
- }
- }
-
- part, err := reader.NextPart()
- if err != nil {
- return errors.Wrap(err, "reader.NextPart")
- }
- c.PrependContents(part.Body)
-
- var (
- headers string
- fds = mhdr.Fields()
- )
- for fds.Next() {
- headers += fmt.Sprintf("%s: %s\n", fds.Key(), fds.Value())
- }
- if headers != "" {
- headers += "\n"
- }
-
- c.PrependContents(bytes.NewReader([]byte(headers)))
+ c.PrependContents(bytes.NewReader(templateText))
return nil
}