deploy
This commit is contained in:
20
Main/views/DownloadFileView.py
Normal file
20
Main/views/DownloadFileView.py
Normal file
@@ -0,0 +1,20 @@
|
||||
from django.http import HttpResponse
|
||||
|
||||
from SprintLib.BaseView import BaseView, AccessError
|
||||
from SprintLib.utils import get_bytes
|
||||
|
||||
|
||||
class DownloadFileView(BaseView):
|
||||
endpoint = "download_file"
|
||||
required_login = True
|
||||
|
||||
def get(self):
|
||||
dump = self.entities.dump
|
||||
if dump.task:
|
||||
if self.request.user == dump.task.creator or self.request.user.username in dump.task.editors:
|
||||
response = HttpResponse(
|
||||
get_bytes(dump.fs_id), content_type='application/force-download'
|
||||
)
|
||||
response['Content-Disposition'] = f'inline; filename={dump.filename}'
|
||||
return response
|
||||
raise AccessError()
|
@@ -18,3 +18,4 @@ from Main.views.SetView import SetView
|
||||
from Main.views.GroupView import GroupView
|
||||
from Main.views.CheckersView import CheckersView
|
||||
from Main.views.ChatsView import ChatsView
|
||||
from Main.views.DownloadFileView import DownloadFileView
|
||||
|
Reference in New Issue
Block a user