This commit is contained in:
parent
3ddc8e14ef
commit
720439c798
66
api/views.py
66
api/views.py
|
|
@ -379,42 +379,44 @@ def NCAddStandardFiles(request):
|
|||
def NCAddDirs(request):
|
||||
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: "
|
||||
for cd in dir_to_create.visibleby.all():
|
||||
sharestring += cd.agencygroupname + " (" + cd.nc_name + ")"
|
||||
# Dir has no parent, create
|
||||
if(len(dir_to_create.parent.name) == 0):
|
||||
r = requests.request("MKCOL", settings.NEXTCLOUD_URL + "remote.php/dav/files/vhdadjangoapi_8fjz47epc6/Agenturdaten_" + str(agency.pk)+ '/' + dir_to_create.name, auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API))
|
||||
return JsonResponse({'status' : True, 'message': 'Ordner ' + dir_to_create.name + ' angelegt. ' + sharestring + " RESP: " + r.text})
|
||||
# Dir has parents, start thinking :)
|
||||
else:
|
||||
datadir_parent = None
|
||||
datadir_parent_dirnames = []
|
||||
if(dir_to_create.parent != None and len(dir_to_create.parent.name) > 0):
|
||||
datadir_parent = dir_to_create.parent
|
||||
datadir_parent_dirnames = [dir_to_create.parent.name]
|
||||
if(DataDir.objects.get(pk=request.GET.get('dirid')).exists()):
|
||||
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: "
|
||||
for cd in dir_to_create.visibleby.all():
|
||||
sharestring += cd.agencygroupname + " (" + cd.nc_name + ")"
|
||||
# Dir has no parent, create
|
||||
if(len(dir_to_create.parent.name) == 0):
|
||||
r = requests.request("MKCOL", settings.NEXTCLOUD_URL + "remote.php/dav/files/vhdadjangoapi_8fjz47epc6/Agenturdaten_" + str(agency.pk)+ '/' + dir_to_create.name, auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API))
|
||||
return JsonResponse({'status' : True, 'message': 'Ordner ' + dir_to_create.name + ' angelegt. ' + sharestring + " RESP: " + r.text})
|
||||
# Dir has parents, start thinking :)
|
||||
else:
|
||||
datadir_parent = None
|
||||
datadir_parent_dirnames = []
|
||||
if(dir_to_create.parent != None and len(dir_to_create.parent.name) > 0):
|
||||
datadir_parent = dir_to_create.parent
|
||||
datadir_parent_dirnames = [dir_to_create.parent.name]
|
||||
|
||||
if(datadir_parent.parent != None):
|
||||
while(datadir_parent.parent != None and len(datadir_parent.parent.name) > 0):
|
||||
datadir_parent_dirnames.append(datadir_parent.parent.name)
|
||||
datadir_parent = datadir_parent.parent
|
||||
if(datadir_parent.parent != None):
|
||||
while(datadir_parent.parent != None and len(datadir_parent.parent.name) > 0):
|
||||
datadir_parent_dirnames.append(datadir_parent.parent.name)
|
||||
datadir_parent = datadir_parent.parent
|
||||
|
||||
if(len(datadir_parent_dirnames) > 0):
|
||||
datadir_parent_dirnames = datadir_parent_dirnames[::-1]
|
||||
d_prestring = ""
|
||||
for d in datadir_parent_dirnames:
|
||||
new_folder = d_prestring + "/" +d
|
||||
r = requests.request("MKCOL", settings.NEXTCLOUD_URL + "remote.php/dav/files/vhdadjangoapi_8fjz47epc6/Agenturdaten_" + str(agency.pk)+ '/' + new_folder, auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API))
|
||||
d_prestring += "/" + d
|
||||
if(len(datadir_parent_dirnames) > 0):
|
||||
datadir_parent_dirnames = datadir_parent_dirnames[::-1]
|
||||
d_prestring = ""
|
||||
for d in datadir_parent_dirnames:
|
||||
new_folder = d_prestring + "/" +d
|
||||
r = requests.request("MKCOL", settings.NEXTCLOUD_URL + "remote.php/dav/files/vhdadjangoapi_8fjz47epc6/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/vhdadjangoapi_8fjz47epc6/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.' + sharestring + " RESP: " + r.text + " " + "remote.php/dav/files/vhdadjangoapi_8fjz47epc6/Agenturdaten_" + str(agency.pk) + d_prestring + "/" + dir_to_create.name})
|
||||
r = requests.request("MKCOL", settings.NEXTCLOUD_URL + "remote.php/dav/files/vhdadjangoapi_8fjz47epc6/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.' + sharestring + " RESP: " + r.text + " " + "remote.php/dav/files/vhdadjangoapi_8fjz47epc6/Agenturdaten_" + str(agency.pk) + d_prestring + "/" + dir_to_create.name})
|
||||
else:
|
||||
return JsonResponse({'status' : False, 'message': 'Datei nicht gefunden'})
|
||||
|
||||
return JsonResponse({'status' : False, 'message': 'AUTH ERROR'})
|
||||
|
||||
@api_view(['GET'], )
|
||||
|
|
|
|||
Loading…
Reference in New Issue