From ee18f37b315d53bd43d27a9f1e61c5e6af820f6d Mon Sep 17 00:00:00 2001 From: "holger.trampe" Date: Tue, 27 Jul 2021 19:24:20 +0200 Subject: [PATCH] fileupload ok --- adm/templates/adm/adm_import_flow.html | 6 +- api/views.py | 62 ++++++++++-------- .../__pycache__/settings.cpython-38.pyc | Bin 4512 -> 4514 bytes digitaleagentur/settings.py | 3 +- 4 files changed, 40 insertions(+), 31 deletions(-) diff --git a/adm/templates/adm/adm_import_flow.html b/adm/templates/adm/adm_import_flow.html index 1a856bc..dc79e1d 100644 --- a/adm/templates/adm/adm_import_flow.html +++ b/adm/templates/adm/adm_import_flow.html @@ -10,7 +10,7 @@
- + @@ -24,10 +24,10 @@ $(document).ready(function(){ // FIRST CALL GROUPS, When Groups finished User will call by Groups - //createAgencyGroups(groupids[0]); + createAgencyGroups(groupids[0]); //DEV - addGroupFolder(); + //addGroupFolder(); //addDirs(dirids[0]); }) diff --git a/api/views.py b/api/views.py index 2cf1b9c..8cbd2c4 100644 --- a/api/views.py +++ b/api/views.py @@ -178,24 +178,27 @@ def NCAddGroup(request): "groupid" : newgroupid } r = requests.post(settings.NEXTCLOUD_URL + "ocs/v1.php/cloud/groups", data=data, headers=headers, auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API)) - r_status = json.loads(r.text) - if(r_status['ocs']['meta']['statuscode'] == 100): - # Group created, save new group id in Django - aggroup.nc_name = newgroupid - aggroup.save() + try: + r_status = json.loads(r.text) + if(r_status['ocs']['meta']['statuscode'] == 100): + # Group created, save new group id in Django + aggroup.nc_name = newgroupid + aggroup.save() - # Group created, set display name in NC - data = { - "name": aggroup.agencygroupname, - "id" : newgroupid - } - headers = { - 'Authorization': 'Bearer ' + request.COOKIES['nc_session_id'] - } - r = requests.post(settings.NEXTCLOUD_URL + "apps/agency/regr", data=data, headers=headers) - return JsonResponse({'status' : True, 'message': 'Gruppe ' + aggroup.agencygroupname + ' erzeugt - ID: ' + newgroupid}) - else: - return JsonResponse({'status' : True, 'message': 'Gruppe ' + aggroup.agencygroupname + ' (ID '+aggroup.group.name+') konnte nicht erzeugt werden. Bitte manuell prüfen'}) + # Group created, set display name in NC + data = { + "name": aggroup.agencygroupname, + "id" : newgroupid + } + headers = { + 'Authorization': 'Bearer ' + request.COOKIES['nc_session_id'] + } + r = requests.post(settings.NEXTCLOUD_URL + "apps/agency/regr", data=data, headers=headers) + return JsonResponse({'status' : True, 'message': 'Gruppe ' + aggroup.agencygroupname + ' erzeugt - ID: ' + newgroupid}) + else: + return JsonResponse({'status' : True, 'message': 'Gruppe ' + aggroup.agencygroupname + ' (ID '+aggroup.group.name+') konnte nicht erzeugt werden. Bitte manuell prüfen'}) + except: + return JsonResponse({'status' : True, 'message': 'Gruppe ' + aggroup.agencygroupname + ' (ID '+aggroup.group.name+') konnte nicht erzeugt werden. Bitte manuell prüfen' + r.text}) return JsonResponse({"status" : "NO AUTH"}) @@ -237,10 +240,13 @@ def NCAddUser(request): # Request for adding the new User r = requests.post(settings.NEXTCLOUD_URL + "ocs/v1.php/cloud/users", data=data, headers=headers, auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API)) - r_status = json.loads(r.text) - if(r_status['ocs']['meta']['statuscode'] == 100): - return JsonResponse({'status' : True, 'message': 'Benutzer ' + user.first_name + " " + user.last_name + ' angelegt und in die Gruppen gepackt.'}) - else: + try: + r_status = json.loads(r.text) + if(r_status['ocs']['meta']['statuscode'] == 100): + return JsonResponse({'status' : True, 'message': 'Benutzer ' + user.first_name + " " + user.last_name + ' angelegt und in die Gruppen gepackt.'}) + else: + return JsonResponse({'status' : True, 'message': 'Benutzer ' + user.first_name + " " + user.last_name + ' konnte nicht angelegt werden. Bitte manuell prüfen!'}) + except: return JsonResponse({'status' : True, 'message': 'Benutzer ' + user.first_name + " " + user.last_name + ' konnte nicht angelegt werden. Bitte manuell prüfen!'}) return JsonResponse({"status" : "NO AUTH"}) @@ -299,11 +305,12 @@ def NCAddFiles(request): # Uplod the file! final_file_path = settings.NEXTCLOUD_URL + "remote.php/dav/files/admin/Agenturdaten_"+ str(agency.pk) + "/" + d_prestring + "/" + file_to_load.name - r = requests.put(final_file_path, files={file_to_load.name : file_to_load.file.path}, auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API)) - if(len(r.text) == 0): - return JsonResponse({'status' : True, 'message': 'Datei ' + file_to_load.name + ' angelegt.'}) - else: - return JsonResponse({'status' : True, 'message': 'Datei ' + file_to_load.name + ' konnte nicht angelegt. Bitte manuell prüfen!'}) + with open(file_to_load.file.path, 'rb') as f: + r = requests.put(final_file_path, data=f, auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API)) + if(len(r.text) == 0): + return JsonResponse({'status' : True, 'message': 'Datei ' + file_to_load.name + ' angelegt.'}) + else: + return JsonResponse({'status' : True, 'message': 'Datei ' + file_to_load.name + ' konnte nicht angelegt. Bitte manuell prüfen!'}) return JsonResponse({"status" : "NO AUTH"}) @@ -340,8 +347,9 @@ def NCAddDirs(request): new_folder = d_prestring + "/" +d r = requests.request("MKCOL", settings.NEXTCLOUD_URL + "remote.php/dav/files/admin/Agenturdaten_" + str(agency.pk)+ '/' + new_folder, auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API)) d_prestring += "/" + d - + r = requests.request("MKCOL", settings.NEXTCLOUD_URL + "remote.php/dav/files/admin/Agenturdaten_" + str(agency.pk)+ '/' + d_prestring + "/" + dir_to_create.name, auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API)) + return JsonResponse({'status' : True, 'message': 'Ordner ' + dir_to_create.name + ' angelegt.'}) diff --git a/digitaleagentur/__pycache__/settings.cpython-38.pyc b/digitaleagentur/__pycache__/settings.cpython-38.pyc index f5c36ebd9c8a34ba4d121e1016bc053d381ef12b..0fc8edd3583be9d6f32fb15376ef6ac143925de3 100644 GIT binary patch delta 46 zcmZ3WyhxcZl$V!_0SM0PGbBpNY~-_M=H?1^^mX+Q@^ts~+Z@Ck&&$X@d6U390PIK$ AV*mgE delta 44 xcmZ3ayg->Rl$V!_0SKHX|4sNQy^+tFnUllO$HzY$NNf&aj^|}$o4iHf9RLMO41NFr diff --git a/digitaleagentur/settings.py b/digitaleagentur/settings.py index 4afd8b8..8447a4d 100644 --- a/digitaleagentur/settings.py +++ b/digitaleagentur/settings.py @@ -31,7 +31,8 @@ SESSION_COOKIE_AGE = 100*60*60 #CHANNELS_PRESENCE_MAX_AGE = 30 # FOR SUMMERNOTE ORIGIN -X_FRAME_OPTIONS = 'ALLOWALL' +X_FRAME_OPTIONS = 'SAMEORIGIN' +#X_FRAME_OPTIONS = 'ALLOWALL' # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/2.2/howto/deployment/checklist/