summaryrefslogtreecommitdiffstats
path: root/api
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-05-04 15:45:19 -0400
committerGitHub <noreply@github.com>2017-05-04 15:45:19 -0400
commit49481caf6db89b0853626ac52ab5f786a6887179 (patch)
tree128991892f16d7830097c217db689410a002eb73 /api
parent44a8f76d993cdd97785cab7fd55ad9f07c3c757a (diff)
downloadchat-49481caf6db89b0853626ac52ab5f786a6887179.tar.gz
chat-49481caf6db89b0853626ac52ab5f786a6887179.tar.bz2
chat-49481caf6db89b0853626ac52ab5f786a6887179.zip
PLT-6262 Add config setting to disable file attachments (#6301)
* Add config setting to disable file attachments * Add unit tests * Updating UI for no attachments (#6312) * Update UI text on file upload System Console setting (#6313) * Update storage_settings.jsx * Update en.json
Diffstat (limited to 'api')
-rw-r--r--api/file.go9
-rw-r--r--api/file_test.go12
2 files changed, 18 insertions, 3 deletions
diff --git a/api/file.go b/api/file.go
index 0f2fd9319..9a5de5669 100644
--- a/api/file.go
+++ b/api/file.go
@@ -31,6 +31,11 @@ func InitFile() {
}
func uploadFile(c *Context, w http.ResponseWriter, r *http.Request) {
+ if !*utils.Cfg.FileSettings.EnableFileAttachments {
+ c.Err = model.NewAppError("uploadFile", "api.file.attachments.disabled.app_error", nil, "", http.StatusNotImplemented)
+ return
+ }
+
if r.ContentLength > *utils.Cfg.FileSettings.MaxFileSize {
c.Err = model.NewLocAppError("uploadFile", "api.file.upload_file.too_large.app_error", nil, "")
c.Err.StatusCode = http.StatusRequestEntityTooLarge
@@ -181,9 +186,7 @@ func getPublicFile(c *Context, w http.ResponseWriter, r *http.Request) {
func getFileInfoForRequest(c *Context, r *http.Request, requireFileVisible bool) (*model.FileInfo, *model.AppError) {
if len(utils.Cfg.FileSettings.DriverName) == 0 {
- err := model.NewLocAppError("getFileInfoForRequest", "api.file.get_file_info_for_request.storage.app_error", nil, "")
- err.StatusCode = http.StatusNotImplemented
- return nil, err
+ return nil, model.NewAppError("getFileInfoForRequest", "api.file.get_info_for_request.storage.app_error", nil, "", http.StatusNotImplemented)
}
params := mux.Vars(r)
diff --git a/api/file_test.go b/api/file_test.go
index 1e65c33e8..40534d724 100644
--- a/api/file_test.go
+++ b/api/file_test.go
@@ -99,6 +99,18 @@ func TestUploadFile(t *testing.T) {
t.Fatalf("file preview should've been saved in %v", expectedPreviewPath)
}
+ enableFileAttachments := *utils.Cfg.FileSettings.EnableFileAttachments
+ defer func() {
+ *utils.Cfg.FileSettings.EnableFileAttachments = enableFileAttachments
+ }()
+ *utils.Cfg.FileSettings.EnableFileAttachments = false
+
+ if data, err := readTestFile("test.png"); err != nil {
+ t.Fatal(err)
+ } else if _, err = Client.UploadPostAttachment(data, channel.Id, "test.png"); err == nil {
+ t.Fatal("should have errored")
+ }
+
// Wait a bit for files to ready
time.Sleep(2 * time.Second)