gruppenimport fertig
This commit is contained in:
parent
3fd036f645
commit
9c8d018e09
|
|
@ -19,6 +19,7 @@
|
||||||
console.log('{{ nclink }}');
|
console.log('{{ nclink }}');
|
||||||
})
|
})
|
||||||
|
|
||||||
|
var groupcounter = 0;
|
||||||
function createAgencyGroups(groupid){
|
function createAgencyGroups(groupid){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: "{% url 'api:apiaddgroup' %}",
|
url: "{% url 'api:apiaddgroup' %}",
|
||||||
|
|
@ -32,7 +33,13 @@
|
||||||
'groupid' : groupid
|
'groupid' : groupid
|
||||||
},
|
},
|
||||||
success: function(data){
|
success: function(data){
|
||||||
console.log('succes: '+data);
|
if(data['status'] == true){
|
||||||
|
$("#groups_process_groups").append('<p>' + data['message'] + "</p>");
|
||||||
|
groupcounter += 1;
|
||||||
|
if(groupcounter < groupids.length){
|
||||||
|
createAgencyGroups(groupids[groupcounter]);
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
error: function(e){
|
error: function(e){
|
||||||
console.log(e);
|
console.log(e);
|
||||||
|
|
|
||||||
62
api/views.py
62
api/views.py
|
|
@ -124,19 +124,69 @@ def userChangedInNc(request, uid, sid):
|
||||||
return JsonResponse({"status" : "NO AUTH"})
|
return JsonResponse({"status" : "NO AUTH"})
|
||||||
|
|
||||||
from requests.auth import HTTPBasicAuth
|
from requests.auth import HTTPBasicAuth
|
||||||
|
import random
|
||||||
|
import string
|
||||||
|
from django.contrib.auth.models import Group
|
||||||
|
from users.models import AgencyGroup
|
||||||
|
|
||||||
|
def get_random_number(length = 6):
|
||||||
|
result_str = ''.join(random.choice("0123456789") for i in range(length))
|
||||||
|
return result_str
|
||||||
|
|
||||||
|
# Returns a new groupID for NC by Groupname and Agency
|
||||||
|
def create_group_id(agencygroupname, agency):
|
||||||
|
newgroupid = ""
|
||||||
|
pregroupstr = "agencymaingroupid_"
|
||||||
|
if(agencygroupname == "Mitarbeiter"):
|
||||||
|
newgroupid = pregroupstr + str(agency.pk)
|
||||||
|
# NORMAL GROUOPS
|
||||||
|
elif(agencygroupname == "Administratoren"):
|
||||||
|
newgroupid = pregroupstr + str(agency.pk) + "_defaultadmingroup"
|
||||||
|
elif(agencygroupname == "Notfallhilfe"):
|
||||||
|
newgroupid = pregroupstr + str(agency.pk) + "_recover"
|
||||||
|
else:
|
||||||
|
newgroupid = pregroupstr + str(agency.pk) + "_subgroup_" + get_random_number()
|
||||||
|
|
||||||
|
return newgroupid
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@api_view(['POST'], )
|
@api_view(['POST'], )
|
||||||
def NCAddGroup(request):
|
def NCAddGroup(request):
|
||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
|
|
||||||
data = {
|
group = Group.objects.get(name=request.POST.get('groupid'))
|
||||||
"groupid": "Unsere Spatengruppe"
|
aggroup = AgencyGroup.objects.get(group=group)
|
||||||
}
|
agency = aggroup.agency
|
||||||
|
newgroupid = create_group_id(aggroup.agencygroupname, agency)
|
||||||
headers = {
|
headers = {
|
||||||
'Accept' : 'application/json',
|
'Accept' : 'application/json',
|
||||||
'Access-Control-Allow-Headers' : 'OCS-APIRequest',
|
'Access-Control-Allow-Headers' : 'OCS-APIRequest',
|
||||||
'OCS-APIRequest' : 'true'
|
'OCS-APIRequest' : 'true'
|
||||||
}
|
}
|
||||||
r = requests.post(settings.NEXTCLOUD_URL + "ocs/v1.php/cloud/groups", data=data, headers=headers, auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API))
|
request_status = False
|
||||||
print(r.text)
|
trycounter = 0
|
||||||
|
while(request_status == False or trycounter < 3):
|
||||||
|
data = {
|
||||||
|
"groupid" : newgroupid
|
||||||
|
}
|
||||||
|
r = requests.post(settings.NEXTCLOUD_URL + "ocs/v1.php/cloud/groups", data=data, headers=headers, auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API))
|
||||||
|
r_status = json.loads(r.text)
|
||||||
|
if(r_status['ocs']['meta']['statuscode'] == 100):
|
||||||
|
#if(100 == 100):
|
||||||
|
data = {
|
||||||
|
"name": aggroup.agencygroupname,
|
||||||
|
"id" : newgroupid
|
||||||
|
}
|
||||||
|
headers = {
|
||||||
|
'Authorization': 'Bearer ' + request.COOKIES['nc_session_id']
|
||||||
|
}
|
||||||
|
# Group created, set display name
|
||||||
|
r = requests.post(settings.NEXTCLOUD_URL + "apps/agency/regr", data=data, headers=headers)
|
||||||
|
print(r.text)
|
||||||
|
|
||||||
|
return JsonResponse({'status' : True, 'message': 'Gruppe ' + aggroup.agencygroupname + ' erzeugt - ID: ' + newgroupid})
|
||||||
|
else:
|
||||||
|
trycounter += 1
|
||||||
|
newgroupid = create_group_id(aggroup.agencygroupname, agency)
|
||||||
return JsonResponse({"status" : "NO AUTH"})
|
return JsonResponse({"status" : "NO AUTH"})
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue