From e820a52aa4430ab0ae93ae5bb3927afae8ee26af Mon Sep 17 00:00:00 2001 From: "holger.trampe" Date: Thu, 12 Aug 2021 11:12:16 +0200 Subject: [PATCH] Import done --- adm/templates/adm/adm_import_flow.html | 32 +++++--------------- adm/views.py | 10 +++++-- api/views.py | 41 +++++++++++--------------- 3 files changed, 33 insertions(+), 50 deletions(-) diff --git a/adm/templates/adm/adm_import_flow.html b/adm/templates/adm/adm_import_flow.html index 3370627..1d4a088 100644 --- a/adm/templates/adm/adm_import_flow.html +++ b/adm/templates/adm/adm_import_flow.html @@ -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]); }) @@ -35,17 +35,13 @@ function createAgencyGroups(groupid){ $.ajax({ url: "{% url 'api:apiaddgroup' %}", - headers: { - 'Authorization':'Token {{ ncid }}', - "Access-Control-Allow-Origin" : "*" - }, - method: 'POST', dataType: 'json', data: { 'groupid' : groupid }, success: function(data){ if(data['status'] == true){ + console.log(data); $("#groups_process_groups").append('

' + data['message'] + "

"); groupcounter += 1; if(groupcounter < groupids.length){ @@ -68,11 +64,6 @@ $("#user_process_user").show(); $.ajax({ url: "{% url 'api:apiadduser' %}", - headers: { - 'Authorization':'Token {{ ncid }}', - "Access-Control-Allow-Origin" : "*" - }, - method: 'POST', dataType: 'json', data: { 'agencyid' : {{agency.pk}}, @@ -104,12 +95,15 @@ url: "{% url 'mig-groupfolder' agency.pk %}", dataType: 'json', success: function(data){ - console.log(data); if(data['status'] == true){ + $("#cloud_process_main").html("Ordner erfolgreich angelegt. Starte mit Dateiimport..."); if(files[0] != undefined){ - //addFiles(files[0]); + addFiles(files[0]); } } + else{ + $("#cloud_process_main").html("FEHLER BEI GRUPPENORDNER! Import abgebrochen."); + } }, error: function(e){ console.log(e); @@ -122,11 +116,6 @@ $("#cloud_process_cloud").show(); $.ajax({ url: "{% url 'api:apiaddfile' %}", - headers: { - 'Authorization':'Token {{ ncid }}', - "Access-Control-Allow-Origin" : "*" - }, - method: 'POST', dataType: 'json', data: { 'agencyid' : {{agency.pk}}, @@ -157,11 +146,6 @@ $("#cloud_process_cloud").show(); $.ajax({ url: "{% url 'api:apiadddir' %}", - headers: { - 'Authorization':'Token {{ ncid }}', - "Access-Control-Allow-Origin" : "*" - }, - method: 'POST', dataType: 'json', data: { 'agencyid' : {{agency.pk}}, diff --git a/adm/views.py b/adm/views.py index 1a6f5db..a84e0af 100644 --- a/adm/views.py +++ b/adm/views.py @@ -740,6 +740,10 @@ def createAgGroupFolder(request, agencypk): "aid" : str(agency.pk), } - r = requests.post(settings.NEXTCLOUD_URL + "ocs/v2.php/apps/da_agency/api/v1/creategf", auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API), data=data) - print(r.text) - return JsonResponse({'status' : True, 'message': 'Gruppenordner angelegt!'}) + r = requests.post(settings.NEXTCLOUD_URL + "ocs/v2.php/apps/da_agency/api/v1/creategf?format=json", auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API), data=data) + json_response = json.loads(r.text) + response_status = json_response['ocs']['data']['status'] + if(response_status == "1"): + return JsonResponse({'status' : True, 'message': 'Gruppenordner angelegt!'}) + else: + return JsonResponse({'status' : False, 'message': 'Konnte nicht angelegt werden!'}) diff --git a/api/views.py b/api/views.py index daf2533..1a702b7 100644 --- a/api/views.py +++ b/api/views.py @@ -165,11 +165,11 @@ def create_group_id(agencygroupname, agency): Diese Methode erstellt die Gruppen in NC nach dem Schemata, wie sie auch bei einer Registrierung aufgebaut werden. ''' -@api_view(['POST'], ) +@api_view(['GET'], ) def NCAddGroup(request): - if request.method == "POST": + if request.method == "GET": - group = Group.objects.get(name=request.POST.get('groupid')) + group = Group.objects.get(name=request.GET.get('groupid')) aggroup = AgencyGroup.objects.get(group=group) agency = aggroup.agency newgroupid = create_group_id(aggroup.agencygroupname, agency) @@ -194,13 +194,10 @@ def NCAddGroup(request): "name": aggroup.agencygroupname, "id" : newgroupid } - headers = { - 'Accept' : 'application/json', - 'Access-Control-Allow-Headers' : 'OCS-APIRequest', - 'OCS-APIRequest' : 'true' - } - r = requests.post(settings.NEXTCLOUD_URL + "apps/agency/regr", data=data, headers=headers, auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API)) + r = requests.post(settings.NEXTCLOUD_URL + "ocs/v2.php/apps/da_agency/api/v1/renameagg?format=json", auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API), data=data) return JsonResponse({'status' : True, 'message': 'Gruppe ' + aggroup.agencygroupname + ' erzeugt - ID: ' + newgroupid}) + elif(r_status['ocs']['meta']['statuscode'] == 102): + return JsonResponse({'status' : True, 'message': 'Gruppe ' + aggroup.agencygroupname + ' (ID '+aggroup.group.name+') existiert bereits. Wird übersprungen. Bitte Namen prüfen!'}) else: return JsonResponse({'status' : True, 'message': 'Gruppe ' + aggroup.agencygroupname + ' (ID '+aggroup.group.name+') konnte nicht erzeugt werden. Bitte manuell prüfen'}) #except: @@ -211,11 +208,11 @@ def NCAddGroup(request): ''' Hier werden die Nutzer angelegt. ''' -@api_view(['POST'], ) +@api_view(['GET'], ) def NCAddUser(request): - if request.method == "POST": - agency = Agency.objects.get(pk=request.POST.get('agencyid')) - user = User.objects.get(pk=request.POST['userid']) + if request.method == "GET": + agency = Agency.objects.get(pk=request.GET.get('agencyid')) + user = User.objects.get(pk=request.GET['userid']) # Check, that only users in the same agency can do that! if(user.profile.agency == agency): # Load all groups the User is in and get AgencyGroup for NC-Group-Name @@ -274,8 +271,6 @@ def NCAddGroupFolder(request): 'Authorization': 'Bearer ' + request.user.profile.nc_sid } r = requests.post(settings.NEXTCLOUD_URL + "apps/agency/createagf", data=data, headers=headers) - print(r.text) - print(r.text) return JsonResponse({'status' : True, 'message': 'Gruppenordner angelegt!' + r.text}) return JsonResponse({"status" : "NO AUTH"}) @@ -285,11 +280,11 @@ import os ''' Hier werden die Dateien angelegt und entsprechende Zugriffsrechte der Gruppen gesetzt. ''' -@api_view(['POST'], ) +@api_view(['GET'], ) def NCAddFiles(request): - if request.method == "POST": - agency = Agency.objects.get(pk=request.POST.get('agencyid')) - file_to_load = DataFile.objects.get(pk=request.POST.get('fileid')) + if request.method == "GET": + agency = Agency.objects.get(pk=request.GET.get('agencyid')) + file_to_load = DataFile.objects.get(pk=request.GET.get('fileid')) datadir_parent = None datadir_parent_dirnames = [] if(file_to_load.parent != None): @@ -327,11 +322,11 @@ def NCAddFiles(request): ''' Hier werden die Dateien angelegt und entsprechende Zugriffsrechte der Gruppen gesetzt. ''' -@api_view(['POST'], ) +@api_view(['GET'], ) def NCAddDirs(request): - if request.method == "POST": - agency = Agency.objects.get(pk=request.POST.get('agencyid')) - dir_to_create = DataDir.objects.get(pk=request.POST.get('dirid')) + if request.method == "GET": + agency = Agency.objects.get(pk=request.GET.get('agencyid')) + dir_to_create = DataDir.objects.get(pk=request.GET.get('dirid')) sharestring = "" if(dir_to_create.visibleby.all().count() > 0): sharestring = " Ordner nur sichtbar durch: "