parent
d3e6f136ac
commit
52d4066f66
|
|
@ -13,7 +13,7 @@
|
|||
<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_cloud" style="display: none;"></div>
|
||||
<div id="cloud_process_standards" style="display: none;">Standarddateien werden neu zugewiesen...</div>
|
||||
<div id="cloud_process_standards" style="display: none;">Standarddateien von {{standard_pk|length}} Standards werden neu zugewiesen...</div>
|
||||
<div id="cloud_process_standards_error" style="display: none;">Standarddateien konnten nicht zugewiesen werden. Bitte manuell prüfen.</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>
|
||||
|
|
@ -22,15 +22,16 @@
|
|||
var groupids = [{% for g in groups %} "{{g.name}}" {% if forloop.counter < groups|length %}, {% endif %} {% endfor %}];
|
||||
|
||||
var files = [{% for f in files %} "{{f.pk}}" {% if forloop.counter < files|length %}, {% endif %} {% endfor %}];
|
||||
var standard_files = [{% for f in standard_files %} "{{f.pk}}" {% if forloop.counter < files|length %}, {% endif %} {% endfor %}];
|
||||
var standard_files = [{% for f in standard_files %} "{{f.pk}}" {% if forloop.counter < standard_files|length %}, {% endif %} {% endfor %}];
|
||||
var standards = [{% for s in standard_pk %} "{{s}}" {% if forloop.counter < standard_pk|length %}, {% endif %} {% endfor %}];
|
||||
var dirids = [{% for d in dirs %} "{{d.pk}}" {% if forloop.counter < dirs|length %}, {% endif %} {% endfor %}];
|
||||
|
||||
$(document).ready(function(){
|
||||
// FIRST CALL GROUPS, When Groups finished User will call by Groups
|
||||
//createAgencyGroups(groupids[0]);
|
||||
createAgencyGroups(groupids[0]);
|
||||
|
||||
//DEV
|
||||
rebuildingStandards();
|
||||
//rebuildingStandards(standards[0]);
|
||||
//addGroupFolder();
|
||||
//addDirs(dirids[0]);
|
||||
})
|
||||
|
|
@ -204,8 +205,12 @@
|
|||
addDirs(dirids[dircounter]);
|
||||
}
|
||||
else {
|
||||
rebuildingStandards();
|
||||
|
||||
if(standards[0] != undefined){
|
||||
rebuildingStandards(standards[0]);
|
||||
}
|
||||
else{
|
||||
$("#migfinished").show();
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -214,23 +219,38 @@
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
standardcounter = 0;
|
||||
//Anlegen der Standarddateien
|
||||
function rebuildingStandards(){
|
||||
function rebuildingStandards(id){
|
||||
$("#cloud_process_standards").show();
|
||||
$.ajax({
|
||||
url: "{% url 'api:apiswitchstandards' %}",
|
||||
dataType: 'json',
|
||||
data: {
|
||||
'agencyid' : {{agency.pk}},
|
||||
'standardid' : id,
|
||||
},
|
||||
success: function(data){
|
||||
if(data['status'] == "OK"){
|
||||
$("#migfinished").show();
|
||||
standardcounter += 1;
|
||||
if(standardcounter < standards.length){
|
||||
console.log("STANDARD " + id + " OK");
|
||||
rebuildingStandards(standards[standardcounter]);
|
||||
}
|
||||
else{
|
||||
$("#cloud_process_standards_error").show();
|
||||
$("#cloud_process_standards_error").html("FEHLER BEI STANDARD " + data['status']);
|
||||
console.log("STANDARD " + id + " OK");
|
||||
$("#migfinished").show();
|
||||
}
|
||||
}
|
||||
else{
|
||||
standardcounter += 1;
|
||||
console.log("FEHLER BEI STANDARD " + data['status'] + " ID " + id);
|
||||
if(standardcounter < standards.length){
|
||||
rebuildingStandards(standards[standardcounter]);
|
||||
}
|
||||
else{
|
||||
console.log("FEHLER BEI STANDARD " + data['status'] + " ID " + id);
|
||||
$("#migfinished").show();
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function(e){
|
||||
|
|
|
|||
|
|
@ -737,10 +737,15 @@ class AdmImportFlow(TemplateView):
|
|||
for f in s.addedfiles.all():
|
||||
if(f.parent.name == "Standards Uploadbereich"):
|
||||
standard_files.append(f)
|
||||
|
||||
|
||||
context.update({'standard_files' : standard_files})
|
||||
|
||||
# Loading Standard-PKs
|
||||
standard_pk = []
|
||||
for s in standards:
|
||||
standard_pk.append(str(s.pk))
|
||||
context.update({'standard_pk' : standard_pk})
|
||||
|
||||
|
||||
# LINK TO THE NC-INSTANCE
|
||||
context.update({'nclink' : settings.NEXTCLOUD_URL})
|
||||
context.update({'ncid' : self.request.user.profile.nc_sid})
|
||||
|
|
|
|||
17
api/views.py
17
api/views.py
|
|
@ -421,23 +421,22 @@ def getFileIdFromXML(xmlresponse):
|
|||
'''
|
||||
Standardateien neu zuweisen
|
||||
|
||||
Alle Standards werden nacheinander durchgegangen. Pro Datei in addedfiles wird ein neues NCFile-Objekt erstellt und in addedfiles_nc gespeichert. In den Ansichten der Standards werden dann nur noch die addedfiles_nc-Elemente gesehen und verändert.
|
||||
Pro Datei in addedfiles wird ein neues NCFile-Objekt erstellt und in addedfiles_nc gespeichert. In den Ansichten der Standards werden dann nur noch die addedfiles_nc-Elemente gesehen und verändert.
|
||||
'''
|
||||
@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)
|
||||
#agency = Agency.objects.get(pk=request.GET.get('agencyid'))
|
||||
standard = Standards.objects.get(pk=request.GET.get('standardid'))
|
||||
response_status = "OK"
|
||||
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>'
|
||||
for f in standard.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(standard.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'})
|
||||
fileid = getFileIdFromXML(r.text)
|
||||
if(fileid == None):
|
||||
response_status += " FEHLER BEI STANDARD " + str(s.id) + " "
|
||||
response_status += " FEHLER BEI STANDARD " + str(standard.pk) + " "
|
||||
else:
|
||||
ncfile = NCFile.objects.create(agency=s.agency, nc_id=fileid, file_id=f)
|
||||
s.addedfiles_nc.add(ncfile)
|
||||
ncfile = NCFile.objects.create(agency=standard.agency, nc_id=fileid, file_id=f)
|
||||
standard.addedfiles_nc.add(ncfile)
|
||||
return JsonResponse({"status" : response_status})
|
||||
return JsonResponse({"status" : "NO AUTH"})
|
||||
Binary file not shown.
|
|
@ -1122,6 +1122,8 @@ import urllib.parse
|
|||
def getNCFileInfos(request, ncid):
|
||||
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><d:displayname/></d:prop></d:select><d:from><d:scope><d:href>/files/' + request.user.username + '</d:href><d:depth>infinity</d:depth></d:scope></d:from><d:where><d:eq><d:prop><oc:fileid/></d:prop><d:literal>' + str(ncid) + '</d:literal></d:eq></d:where></d:basicsearch></d:searchrequest>'
|
||||
r = requests.request("SEARCH", settings.NEXTCLOUD_URL + "remote.php/dav/", data=filesearchdata, headers={'Content-Type' : 'text/xml', 'Authorization' : "Bearer " + request.user.profile.nc_sid})
|
||||
print(str(ncid))
|
||||
print(r.text)
|
||||
|
||||
split_response = r.text.split("<d:href>")
|
||||
split_fileele = split_response[1].split("</d:href>")
|
||||
|
|
|
|||
Loading…
Reference in New Issue