digitaleagentur/adm/templates/adm/adm_import_flow.html

295 lines
12 KiB
HTML

{% extends "adm/adm_base.html" %}
{% block content %}
{% load adm_tags %}
<div class="content-section col-12">
<h4>Agenturimport der Agentur {{agency.name}}</h4>
<small>Die Seite nicht verlassen oder neu laden!</small>
<hr>
<div>
<h5 id="groups_process">Es werden {{groups|length}} Gruppen angelegt...</h5>
<div id="groups_process_groups"></div>
<h5 id="user_process" style="display: none;">Es werden {{users|length}} Benutzer angelegt und in die Gruppen gepackt. Die Nutzer müssen sich dann ein neues Passwort setzen.</h5>
<div id="user_process_user" style="display: none;"></div>
<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 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>
<script>
var userids = [{% for us in users %} "{{us.pk}}" {% if forloop.counter < users|length %}, {% endif %} {% endfor %}];
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 < 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]);
//DEV
rebuildingStandards(standards[0]);
//addGroupFolder();
//addDirs(dirids[0]);
})
var groupcounter = 0;
function createAgencyGroups(groupid){
$.ajax({
url: "{% url 'api:apiaddgroup' %}",
dataType: 'json',
data: {
'groupid' : groupid
},
success: function(data){
if(data['status'] == true){
console.log(data);
$("#groups_process_groups").append('<p>' + data['message'] + "</p>");
groupcounter += 1;
if(groupcounter < groupids.length){
createAgencyGroups(groupids[groupcounter]);
}
else {
createUsers(userids[0]);
}
}
},
error: function(e){
console.log(e);
}
});
}
var usercounter = 0;
function createUsers(userid){
$("#user_process").show();
$("#user_process_user").show();
$.ajax({
url: "{% url 'api:apiadduser' %}",
dataType: 'json',
data: {
'agencyid' : {{agency.pk}},
'userid' : userid
},
success: function(data){
if(data['status'] == true){
$("#user_process_user").append('<p>' + data['message'] + "</p>");
usercounter += 1;
if(usercounter < userids.length){
createUsers(userids[usercounter]);
}
else {
addGroupFolder();
}
}
},
error: function(e){
console.log(e);
}
});
}
var groupfolderid = "";
function addGroupFolder(){
$("#cloud_process").show();
$("#cloud_process_main").show();
$.ajax({
url: "{% url 'mig-groupfolder' agency.pk %}",
dataType: 'json',
success: function(data){
if(data['status'] == true){
$("#cloud_process_main").html("Ordner und Standardordner erfolgreich angelegt. Starte mit Dateiimport...");
if(files[0] != undefined){
addFiles(files[0]);
}
else{
console.log("NO FILES FOUND");
if(standard_files[0] != undefined){
console.log("start adding standard files...");
addStandardFilesFiles(standard_files[0]);
}
else {
console.log("NO STANDARD FILES FOUND");
if(dirids[0] != undefined){
addDirs(dirids[0]);
}
else {
console.log("NO DIRS FOUND - MIGRATION DONE!");
$("#migfinished").show();
}
}
}
}
else{
console.log(data);
$("#cloud_process_main").html("FEHLER BEI GRUPPENORDNER! Import abgebrochen.");
}
},
error: function(e){
console.log(e);
}
});
}
filecounter = 0;
function addFiles(fileid){
$("#cloud_process_cloud").show();
$.ajax({
url: "{% url 'api:apiaddfile' %}",
dataType: 'json',
data: {
'agencyid' : {{agency.pk}},
'fileid' : fileid,
},
success: function(data){
if(data['status'] == true){
$("#cloud_process_cloud").append('<p>' + data['message'] + "</p>");
filecounter += 1;
if(filecounter < files.length){
addFiles(files[filecounter]);
}
else {
if(standard_files[0] != undefined){
console.log("start adding standard files...");
addStandardFilesFiles(standard_files[0]);
}
else {
if(dirids[0] != undefined){
addDirs(dirids[0]);
}
else {
$("#migfinished").show();
}
}
}
}
},
error: function(e){
console.log(e);
}
});
}
filecounters = 0;
function addStandardFilesFiles(fileid){
$("#cloud_process_cloud").show();
$.ajax({
url: "{% url 'api:apiaddstandardfile' %}",
dataType: 'json',
data: {
'agencyid' : {{agency.pk}},
'fileid' : fileid,
},
success: function(data){
if(data['status'] == true){
$("#cloud_process_cloud").append('<p>' + data['message'] + "</p>");
filecounters += 1;
if(filecounters < standard_files.length){
console.log("adding standard files...");
addStandardFilesFiles(standard_files[filecounters]);
}
else {
if(dirids[0] != undefined){
addDirs(dirids[0]);
}
}
}
},
error: function(e){
console.log(e);
}
});
}
dircounter = 0;
function addDirs(dirid){
$("#cloud_process_cloud").show();
$.ajax({
url: "{% url 'api:apiadddir' %}",
dataType: 'json',
data: {
'agencyid' : {{agency.pk}},
'dirid' : dirid,
},
success: function(data){
if(data['status'] == true){
$("#cloud_process_cloud").append('<p>' + data['message'] + "</p>");
dircounter += 1;
if(dircounter < dirids.length){
console.log(dircounter < dirids.length);
addDirs(dirids[dircounter]);
}
else {
if(standards[0] != undefined){
rebuildingStandards(standards[0]);
}
else{
$("#migfinished").show();
}
}
}
},
error: function(e){
console.log(e);
}
});
}
standardcounter = 0;
var ncfiledata = [false];
//Anlegen der Standarddateien
function rebuildingStandards(id){
$("#cloud_process_standards").show();
ncfiledata[0] = ['standardid', id];
console.log("LOADING NC FILES");
$.ajax({
url: "{% url 'api:apiswitchstandardsprepare' %}",
dataType: 'json',
data: {
'standardid' : id,
},
success: function(data)
{
ncfiledata.push(data);
console.log(ncfiledata);
console.log("NC FILES LOADED, STARTING REBUILDING STANDARDS");
$.ajax({
url: "{% url 'api:apiswitchstandards' %}",
dataType: 'json',
data: JSON.stringify(ncfiledata),
success: function(data){
if(data['status'] == "OK"){
standardcounter += 1;
if(standardcounter < standards.length){
console.log("STANDARD " + id + " OK");
rebuildingStandards(standards[standardcounter]);
}
else{
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){
console.log(e);
}
});
}
});
}
</script>
</div>
{% endblock content %}