diff --git a/adm/templates/adm/adm_import_flow.html b/adm/templates/adm/adm_import_flow.html
index 99499bd..8033235 100644
--- a/adm/templates/adm/adm_import_flow.html
+++ b/adm/templates/adm/adm_import_flow.html
@@ -13,6 +13,8 @@
Es werden {{files|length}} Dateien und {{dirs|length}} Ordner angelegt und mit Zugriffsrechten gesetzt.
Gruppenordner wird angelegt
+ Standarddateien werden neu zugewiesen...
+ Standarddateien konnten nicht zugewiesen werden. Bitte manuell prüfen.
Migration vollständig. Bitte diese Seite ausdrucken oder Speichern. Ein erneuter Import ist nicht möglich!
{% endblock content %}
\ No newline at end of file
diff --git a/adm/views.py b/adm/views.py
index 3724eb0..f2f32d9 100644
--- a/adm/views.py
+++ b/adm/views.py
@@ -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_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)
response_status = json_response['ocs']['data']['status']
if(response_status == "1"):
diff --git a/api/urls.py b/api/urls.py
index 2006f6a..1731738 100644
--- a/api/urls.py
+++ b/api/urls.py
@@ -18,8 +18,9 @@ urlpatterns = [
path('adduser/', views.NCAddUser, name="apiadduser"),
path('addgf/', views.NCAddGroupFolder, name="apiaddgf"),
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('addswitchstandards/', views.NCSwitchStandardFiles, name="apiswitchstandards"),
path('setlog/', views.SetUserData, name="apisetlog"),
# EXTERNAL FROM NC
diff --git a/api/views.py b/api/views.py
index 06b3538..21aa638 100644
--- a/api/views.py
+++ b/api/views.py
@@ -257,6 +257,8 @@ def NCAddUser(request):
from requests.auth import HTTPBasicAuth
'''
Anlegen des Gruppenordners der Agentur in NC
+
+ WIRD NICHT VERWENDET!!!
'''
@api_view(['POST'], )
def NCAddGroupFolder(request):
@@ -274,7 +276,7 @@ def NCAddGroupFolder(request):
r = requests.post(settings.NEXTCLOUD_URL + "apps/agency/createagf", data=data, headers=headers)
# 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})
@@ -327,14 +329,19 @@ def NCAddFiles(request):
STANDARD FILES
'''
@api_view(['GET'], )
-def apiaddstandardfile(request):
+def NCAddStandardFiles(request):
if request.method == "GET":
agency = Agency.objects.get(pk=request.GET.get('agencyid'))
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!
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:
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):
return JsonResponse({'status' : True, 'message': 'Datei ' + file_to_load.name + ' angelegt.'})
else:
@@ -400,4 +407,22 @@ def SetUserData(request):
user.profile.nc_sid = request.POST.get('sid')
user.save()
return JsonResponse({'message' : 'A user was found in request, sid set!'})
-
\ No newline at end of file
+
+
+
+'''
+ 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 = '/files/' + settings.NEXTCLOUD_USER_API + '/Agenturdaten_' + str(agency.pk) + 'infinity' + f.name + ''
+ 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"})
\ No newline at end of file
diff --git a/standards/models.py b/standards/models.py
index 13dcfeb..c1b7593 100644
--- a/standards/models.py
+++ b/standards/models.py
@@ -22,7 +22,7 @@ class StandardComments(models.Model):
comment_by = models.ForeignKey(User, on_delete=models.CASCADE)
comment_on = models.DateTimeField(default=timezone.now, blank=True)
last_modified_on = models.DateTimeField(default=timezone.now, blank=True)
-
+
class Standards(models.Model):
agency = models.ForeignKey(Agency, on_delete=models.CASCADE)
area = models.ForeignKey(Areas, on_delete=models.SET_NULL, blank=True, null=True)
@@ -66,6 +66,8 @@ class Standards(models.Model):
# FILES
addedfiles = models.ManyToManyField(DataFile, blank=True)
+ addedfiles_nc = models.ManyToManyField('NCFile', blank=True)
+
# VERLINKTE STANDARDS
linked_standards = models.ManyToManyField('Standards', blank=True)
# GORUPS
@@ -94,3 +96,8 @@ class Standards(models.Model):
# Hier Path für Templates des Models mit Parametern
def get_absolute_url(self):
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)
diff --git a/standards/views.py b/standards/views.py
index bb55dcb..2ab1797 100644
--- a/standards/views.py
+++ b/standards/views.py
@@ -287,14 +287,11 @@ def StandardAdd(request, id=False):
return render(request, 'standards/standards_add.html', context)
# UPDATE A STANDARD
else:
+
standard = Standards.objects.get(pk=id, agency=request.user.profile.agency)
# SAVE UPDATED STANDARD
if request.method == 'POST':
-
-
-
-
# CHECK IF USER HAS RIGHTS TO SEE THIS DIR
groupsofstandard = standard