X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=filex%2Fviews.py;h=5d23947c25235bf9c6451724ceea68380aa36c0a;hb=a0feb25389615e9d2ab2b036a491a1aeeb059a52;hp=a85c26588f2a43fa9469745ef76d946de8b5eda6;hpb=a5eea24f30969c1434c7743516f0195aa4bc53ae;p=qcg-portal.git diff --git a/filex/views.py b/filex/views.py index a85c265..5d23947 100644 --- a/filex/views.py +++ b/filex/views.py @@ -1,13 +1,16 @@ import mimetypes +from django.contrib.auth.decorators import login_required from django.core.exceptions import PermissionDenied, SuspiciousOperation from django.http import JsonResponse, StreamingHttpResponse +from django.shortcuts import get_object_or_404 from django.template.defaultfilters import filesizeformat from django.utils.formats import date_format from django.views.decorators.http import require_POST -from filex.forms import NewDirForm, RenameForm +from filex.forms import NewDirForm, RenameForm, FavoriteForm from filex.ftp import FTPOperation, FTPException +from filex.models import Favorite from filex.uploadhandler import with_ftp_upload_handler @@ -231,3 +234,30 @@ def extract(request): return JsonResponse({'msg': e.message}, status=400) else: return JsonResponse({'success': True}) + + +@require_POST +@login_required +def fav_add(request): + data = request.POST.copy() + data['owner'] = request.user.id + + form = FavoriteForm(data) + + # TODO check if path exists + if form.is_valid(): + instance = form.save() + + return JsonResponse({'group': 'usr', 'host': instance.host, 'path': instance.path, + 'value': instance.host + instance.path}) + + return JsonResponse({'msg': form.errors}, status=400) + + +@require_POST +@login_required +def fav_delete(request): + fav = get_object_or_404(Favorite, owner=request.user, host=request.POST['host'], path=request.POST['path']) + fav.delete() + + return JsonResponse({'success': True})