1
0
Fork 0
forked from jriou/coller

Compare commits

...

3 commits

Author SHA1 Message Date
Thibault Piron
cfdf653c47 feat: add possibility to hide upload button 2025-09-12 18:20:19 +02:00
401397241b
fix: Upload text files other than plain text
Fixes #23

Signed-off-by: Julien Riou <julien@riou.xyz>
2025-09-10 07:02:48 +02:00
af5baa999c fix: display error page if note not found (#24)
Fix panic when trying to access a non existing note with the "pretty" url (.html)

Reviewed-on: jriou/coller#24
Reviewed-by: Julien Riou <jriou@monitoring@riou.xyz>
Co-authored-by: Thibault Piron <thibault.piron.ext@ovhcloud.com>
Co-committed-by: Thibault Piron <thibault.piron.ext@ovhcloud.com>
2025-09-09 15:57:23 +02:00
3 changed files with 23 additions and 9 deletions

View file

@ -25,6 +25,7 @@ type Config struct {
ObservationInterval int `json:"observation_internal"`
Languages []string `json:"languages"`
Language string `json:"language"`
UploadFileButton bool `json:"upload_file_button"`
}
func NewConfig() *Config {
@ -70,6 +71,7 @@ func NewConfig() *Config {
"YAML",
},
Language: "text",
UploadFileButton: true,
}
}

View file

@ -193,6 +193,7 @@ type PageData struct {
Err error
URL string
Note *Note
UploadFileButton bool
}
type HomeHandler struct {
@ -246,7 +247,7 @@ func (h *CreateNoteWithFormHandler) ServeHTTP(w http.ResponseWriter, r *http.Req
}
h.logger.Debug("checking file content type")
if handler.Header.Get("Content-Type") != "text/plain" {
if !strings.HasPrefix(handler.Header.Get("Content-Type"), "text/") {
h.PageData.Err = fmt.Errorf("text file expected (got %s)", handler.Header.Get("Content-Type"))
h.Templates.ExecuteTemplate(w, templateName, h.PageData)
return
@ -377,6 +378,12 @@ func (h *GetProtectedWebNoteHandler) ServeHTTP(w http.ResponseWriter, r *http.Re
return
}
if note == nil {
h.PageData.Err = fmt.Errorf("Note doesn't exist or has been deleted")
h.Templates.ExecuteTemplate(w, templateName, h.PageData)
return
}
if password != "" && note.Encrypted {
note.Content, err = internal.Decrypt(note.Content, password)
if err != nil {
@ -426,6 +433,9 @@ func (s *Server) Start() error {
if s.config.ShowVersion {
p.Version = s.version
}
if s.config.UploadFileButton {
p.UploadFileButton = true
}
templates, err := template.New("templates").Funcs(funcs).ParseFS(templatesFS, "templates/*.html")
if err != nil {

View file

@ -31,9 +31,11 @@
value="delete-after-read" name="delete-after-read">
<label class="col-form-label col-form-label-sm" for="delete-after-read">Delete after read</label>
</div>
{{if .UploadFileButton}}
<div class="col">
<input type="file" class="form-control" for="file" id="file" name="file" accept="text/plain" />
</div>
{{end}}
<div class="col">
<select class="form-select" aria-label="Expiration" id="expiration" name="expiration">
<option selected="selected" disabled>Expiration</option>