Filepart 1
This commit is contained in:
parent
1bc3dcb703
commit
0ad67210c3
|
|
@ -13,6 +13,8 @@
|
||||||
<h5 id="cloud_process" style="display: none;">Es werden {{files|length}} Dateien und {{dirs|length}} Ordner angelegt und mit Zugriffsrechten gesetzt.</h5>
|
<h5 id="cloud_process" style="display: none;">Es werden {{files|length}} Dateien und {{dirs|length}} Ordner angelegt und mit Zugriffsrechten gesetzt.</h5>
|
||||||
<div id="cloud_process_main" style="display: none;">Gruppenordner wird angelegt</div>
|
<div id="cloud_process_main" style="display: none;">Gruppenordner wird angelegt</div>
|
||||||
<div id="cloud_process_cloud" style="display: none;"></div>
|
<div id="cloud_process_cloud" style="display: none;"></div>
|
||||||
|
<div id="cloud_process_standards" style="display: none;">Standarddateien werden neu zugewiesen...</div>
|
||||||
|
<div id="cloud_process_standards_error" style="display: none;">Standarddateien konnten nicht zugewiesen werden. Bitte manuell prüfen.</div>
|
||||||
</div>
|
</div>
|
||||||
<h5 id="migfinished" style="display: none;">Migration vollständig. Bitte diese Seite ausdrucken oder Speichern. Ein erneuter Import ist nicht möglich!</h5>
|
<h5 id="migfinished" style="display: none;">Migration vollständig. Bitte diese Seite ausdrucken oder Speichern. Ein erneuter Import ist nicht möglich!</h5>
|
||||||
<script>
|
<script>
|
||||||
|
|
@ -28,6 +30,7 @@
|
||||||
createAgencyGroups(groupids[0]);
|
createAgencyGroups(groupids[0]);
|
||||||
|
|
||||||
//DEV
|
//DEV
|
||||||
|
//rebuildingStandards();
|
||||||
//addGroupFolder();
|
//addGroupFolder();
|
||||||
//addDirs(dirids[0]);
|
//addDirs(dirids[0]);
|
||||||
})
|
})
|
||||||
|
|
@ -97,7 +100,7 @@
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
success: function(data){
|
success: function(data){
|
||||||
if(data['status'] == true){
|
if(data['status'] == true){
|
||||||
$("#cloud_process_main").html("Ordner erfolgreich angelegt. Starte mit Dateiimport...");
|
$("#cloud_process_main").html("Ordner und Standardordner erfolgreich angelegt. Starte mit Dateiimport...");
|
||||||
if(files[0] != undefined){
|
if(files[0] != undefined){
|
||||||
addFiles(files[0]);
|
addFiles(files[0]);
|
||||||
}
|
}
|
||||||
|
|
@ -131,6 +134,7 @@
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(standard_files[0] != undefined){
|
if(standard_files[0] != undefined){
|
||||||
|
console.log("start adding standard files...");
|
||||||
addStandardFilesFiles(standard_files[0]);
|
addStandardFilesFiles(standard_files[0]);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
@ -165,6 +169,7 @@
|
||||||
$("#cloud_process_cloud").append('<p>' + data['message'] + "</p>");
|
$("#cloud_process_cloud").append('<p>' + data['message'] + "</p>");
|
||||||
filecounters += 1;
|
filecounters += 1;
|
||||||
if(filecounters < standard_files.length){
|
if(filecounters < standard_files.length){
|
||||||
|
console.log("adding standard files...");
|
||||||
addStandardFilesFiles(standard_files[filecounters]);
|
addStandardFilesFiles(standard_files[filecounters]);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
@ -199,7 +204,8 @@
|
||||||
addDirs(dirids[dircounter]);
|
addDirs(dirids[dircounter]);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$("#migfinished").show();
|
rebuildingStandards();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -208,6 +214,29 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Anlegen der Standarddateien
|
||||||
|
function rebuildingStandards(){
|
||||||
|
$("#cloud_process_standards").show();
|
||||||
|
$.ajax({
|
||||||
|
url: "{% url 'api:apiswitchstandards' %}",
|
||||||
|
dataType: 'json',
|
||||||
|
data: {
|
||||||
|
'agencyid' : {{agency.pk}},
|
||||||
|
},
|
||||||
|
success: function(data){
|
||||||
|
if(data['status'] == true){
|
||||||
|
$("#migfinished").show();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$("#cloud_process_standards_error").show();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function(e){
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</div>
|
</div>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|
@ -758,6 +758,7 @@ def createAgGroupFolder(request, agencypk):
|
||||||
}
|
}
|
||||||
|
|
||||||
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)
|
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)
|
||||||
|
r_2 = requests.request("MKCOL", settings.NEXTCLOUD_URL + "remote.php/dav/files/admin/Agenturdaten_" + str(agency.pk)+ '/Standards Uploadbereich', auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API))
|
||||||
json_response = json.loads(r.text)
|
json_response = json.loads(r.text)
|
||||||
response_status = json_response['ocs']['data']['status']
|
response_status = json_response['ocs']['data']['status']
|
||||||
if(response_status == "1"):
|
if(response_status == "1"):
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,9 @@ urlpatterns = [
|
||||||
path('adduser/', views.NCAddUser, name="apiadduser"),
|
path('adduser/', views.NCAddUser, name="apiadduser"),
|
||||||
path('addgf/', views.NCAddGroupFolder, name="apiaddgf"),
|
path('addgf/', views.NCAddGroupFolder, name="apiaddgf"),
|
||||||
path('addfile/', views.NCAddFiles, name="apiaddfile"),
|
path('addfile/', views.NCAddFiles, name="apiaddfile"),
|
||||||
path('addstandardfile/', views.NCAddFiles, name="apiaddstandardfile"),
|
path('addstandardfile/', views.NCAddStandardFiles, name="apiaddstandardfile"),
|
||||||
path('adddir/', views.NCAddDirs, name="apiadddir"),
|
path('adddir/', views.NCAddDirs, name="apiadddir"),
|
||||||
|
path('addswitchstandards/', views.NCSwitchStandardFiles, name="apiswitchstandards"),
|
||||||
|
|
||||||
path('setlog/', views.SetUserData, name="apisetlog"),
|
path('setlog/', views.SetUserData, name="apisetlog"),
|
||||||
# EXTERNAL FROM NC
|
# EXTERNAL FROM NC
|
||||||
|
|
|
||||||
29
api/views.py
29
api/views.py
|
|
@ -257,6 +257,8 @@ def NCAddUser(request):
|
||||||
from requests.auth import HTTPBasicAuth
|
from requests.auth import HTTPBasicAuth
|
||||||
'''
|
'''
|
||||||
Anlegen des Gruppenordners der Agentur in NC
|
Anlegen des Gruppenordners der Agentur in NC
|
||||||
|
|
||||||
|
WIRD NICHT VERWENDET!!!
|
||||||
'''
|
'''
|
||||||
@api_view(['POST'], )
|
@api_view(['POST'], )
|
||||||
def NCAddGroupFolder(request):
|
def NCAddGroupFolder(request):
|
||||||
|
|
@ -274,7 +276,7 @@ def NCAddGroupFolder(request):
|
||||||
r = requests.post(settings.NEXTCLOUD_URL + "apps/agency/createagf", data=data, headers=headers)
|
r = requests.post(settings.NEXTCLOUD_URL + "apps/agency/createagf", data=data, headers=headers)
|
||||||
|
|
||||||
# Standar Folder
|
# Standar Folder
|
||||||
r = requests.request("MKCOL", settings.NEXTCLOUD_URL + "remote.php/dav/files/admin/Agenturdaten_" + str(agency.pk)+ '/Standards Uploadbereich', auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API))
|
r = requests.request("MKCOL", settings.NEXTCLOUD_URL + "remote.php/dav/files/admin/Agenturdaten_" + str(agency.pk)+ '/Standards Uploadbereich/', auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API))
|
||||||
|
|
||||||
return JsonResponse({'status' : True, 'message': 'Gruppenordner und Standard-Ordner angelegt!' + r.text})
|
return JsonResponse({'status' : True, 'message': 'Gruppenordner und Standard-Ordner angelegt!' + r.text})
|
||||||
|
|
||||||
|
|
@ -327,14 +329,19 @@ def NCAddFiles(request):
|
||||||
STANDARD FILES
|
STANDARD FILES
|
||||||
'''
|
'''
|
||||||
@api_view(['GET'], )
|
@api_view(['GET'], )
|
||||||
def apiaddstandardfile(request):
|
def NCAddStandardFiles(request):
|
||||||
if request.method == "GET":
|
if request.method == "GET":
|
||||||
agency = Agency.objects.get(pk=request.GET.get('agencyid'))
|
agency = Agency.objects.get(pk=request.GET.get('agencyid'))
|
||||||
file_to_load = DataFile.objects.get(pk=request.GET.get('fileid'))
|
file_to_load = DataFile.objects.get(pk=request.GET.get('fileid'))
|
||||||
|
|
||||||
|
# TODO: Was geht hier bitte nicht? PUT fehler da keine Dateien gefunden werden können
|
||||||
|
print(file_to_load.file.path)
|
||||||
|
|
||||||
# Uplod the file!
|
# Uplod the file!
|
||||||
final_file_path = settings.NEXTCLOUD_URL + "remote.php/dav/files/admin/Agenturdaten_"+ str(agency.pk) + "/Standards Uploadbereich"
|
final_file_path = settings.NEXTCLOUD_URL + "remote.php/dav/files/admin/Agenturdaten_"+ str(agency.pk) + "/Standards Uploadbereich"
|
||||||
with open(file_to_load.file.path, 'rb') as f:
|
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))
|
r = requests.put(final_file_path, data=f, auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API))
|
||||||
|
print(r.text)
|
||||||
if(len(r.text) == 0):
|
if(len(r.text) == 0):
|
||||||
return JsonResponse({'status' : True, 'message': 'Datei ' + file_to_load.name + ' angelegt.'})
|
return JsonResponse({'status' : True, 'message': 'Datei ' + file_to_load.name + ' angelegt.'})
|
||||||
else:
|
else:
|
||||||
|
|
@ -401,3 +408,21 @@ def SetUserData(request):
|
||||||
user.save()
|
user.save()
|
||||||
return JsonResponse({'message' : 'A user was found in request, sid set!'})
|
return JsonResponse({'message' : 'A user was found in request, sid set!'})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
'''
|
||||||
|
Standardateien neu zuweisen
|
||||||
|
'''
|
||||||
|
@api_view(['GET'], )
|
||||||
|
def NCSwitchStandardFiles(request):
|
||||||
|
if request.method == "GET":
|
||||||
|
agency = Agency.objects.get(pk=request.GET.get('agencyid'))
|
||||||
|
standards = Standards.objects.filter(agency=agency)
|
||||||
|
|
||||||
|
for s in standards:
|
||||||
|
for f in s.addedfiles.all():
|
||||||
|
filesearchdata = '<?xml version="1.0" encoding="UTF-8"?><d:searchrequest xmlns:d="DAV:" xmlns:oc="http://owncloud.org/ns"><d:basicsearch><d:select><d:prop><oc:fileid/><d:displayname/></d:prop></d:select><d:from><d:scope><d:href>/files/' + settings.NEXTCLOUD_USER_API + '/Agenturdaten_' + str(agency.pk) + '</d:href><d:depth>infinity</d:depth></d:scope></d:from><d:where><d:like><d:prop><d:displayname/></d:prop><d:literal>' + f.name + '</d:literal></d:like></d:where></d:basicsearch></d:searchrequest>'
|
||||||
|
r = requests.request("SEARCH", settings.NEXTCLOUD_URL + "remote.php/dav", data=filesearchdata, auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API), headers={'Content-Type' : 'text/xml'})
|
||||||
|
print(r.text)
|
||||||
|
|
||||||
|
return JsonResponse({"status" : "NO AUTH"})
|
||||||
|
|
@ -66,6 +66,8 @@ class Standards(models.Model):
|
||||||
|
|
||||||
# FILES
|
# FILES
|
||||||
addedfiles = models.ManyToManyField(DataFile, blank=True)
|
addedfiles = models.ManyToManyField(DataFile, blank=True)
|
||||||
|
addedfiles_nc = models.ManyToManyField('NCFile', blank=True)
|
||||||
|
|
||||||
# VERLINKTE STANDARDS
|
# VERLINKTE STANDARDS
|
||||||
linked_standards = models.ManyToManyField('Standards', blank=True)
|
linked_standards = models.ManyToManyField('Standards', blank=True)
|
||||||
# GORUPS
|
# GORUPS
|
||||||
|
|
@ -94,3 +96,8 @@ class Standards(models.Model):
|
||||||
# Hier Path für Templates des Models mit Parametern
|
# Hier Path für Templates des Models mit Parametern
|
||||||
def get_absolute_url(self):
|
def get_absolute_url(self):
|
||||||
return reverse('standards-add', kwargs={'pk':self.pk})
|
return reverse('standards-add', kwargs={'pk':self.pk})
|
||||||
|
|
||||||
|
class NCFile(models.Model):
|
||||||
|
agency = models.ForeignKey(Agency, on_delete=models.CASCADE)
|
||||||
|
nc_id = models.IntegerField(default=0)
|
||||||
|
file_id = models.ForeignKey(DataFile, on_delete=models.CASCADE)
|
||||||
|
|
|
||||||
|
|
@ -287,14 +287,11 @@ def StandardAdd(request, id=False):
|
||||||
return render(request, 'standards/standards_add.html', context)
|
return render(request, 'standards/standards_add.html', context)
|
||||||
# UPDATE A STANDARD
|
# UPDATE A STANDARD
|
||||||
else:
|
else:
|
||||||
|
|
||||||
standard = Standards.objects.get(pk=id, agency=request.user.profile.agency)
|
standard = Standards.objects.get(pk=id, agency=request.user.profile.agency)
|
||||||
# SAVE UPDATED STANDARD
|
# SAVE UPDATED STANDARD
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# CHECK IF USER HAS RIGHTS TO SEE THIS DIR
|
# CHECK IF USER HAS RIGHTS TO SEE THIS DIR
|
||||||
groupsofstandard = standard
|
groupsofstandard = standard
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue