diff --git a/cloud/models.py b/cloud/models.py index cbbae4f..48b1f22 100644 --- a/cloud/models.py +++ b/cloud/models.py @@ -29,6 +29,7 @@ class DataDir(models.Model): name = models.CharField(max_length=2000, default="", blank=True, null=True) def2 = models.CharField(max_length=2000, default="", blank=True, null=True) is_root = models.BooleanField(default=False) + is_defaultstandard = models.BooleanField(default=False) dirs = models.ManyToManyField('self', blank=True, related_name='dirs_in_dirs', symmetrical = False) visibleby = models.ManyToManyField(AgencyGroup, blank=True, related_name='visible_by_user') date_created = models.DateTimeField(default = timezone.now) diff --git a/cloud/templates/cloud/cloud_main.html b/cloud/templates/cloud/cloud_main.html index 635f397..b5320cf 100644 --- a/cloud/templates/cloud/cloud_main.html +++ b/cloud/templates/cloud/cloud_main.html @@ -89,7 +89,7 @@ a.disabled { {{d.date_created|date:"d.m.Y G:i"}} {{d.date_last_modified|date:"d.m.Y G:i"}} - {% if user|usergperm:"filedirmanager" and groupchecker%} + {% if user|usergperm:"filedirmanager" and groupchecker and d.is_defaultstandard == False %}
Standards aus dem Bereich {{area.name}}

- {% for task in tasks %} - {% if task.area == area %} -
+ {% for ele in standardcontent %} + {% if ele.area == area %} + + {% for task in ele.tasks %} +
- {% setvar 0 %} - {% for standard in standards_of_agency %} - {% getvar as varcounter %} - {% if standard.task == task and standard.area == area%} - {% incvar %} - {% endif %} - {% endfor %} - {% getvar as varcounter %}
- {{task.name}} ({{varcounter}}) -
- {% setvar 0 %} - {% for standard in standards_of_agency %} - - {% setbool False %} - {% for ag in standard.visibleby.all %} - {% if request.user|has_group:ag.group.name %} - {% setbool True %} - {% endif %} - {% endfor %} - - {% if standard.visibleby.all|length == 0 %} + {{task.task.name}} ({{task.standards.count}}) + + + {% for s in task.standards %} + + {% setbool False %} + {% for ag in s.visibleby.all %} + {% if request.user|has_group:ag.group.name %} + {% setbool True %} + {% endif %} + {% endfor %} + {% if s.visibleby.all|length == 0 %} {% setbool True %} {% endif %} - {% getbool as groupchecker %} - - {% getvar as varcounter %} - {% if standard.task == task and standard.area == area and varcounter < 3 %} - {% incvar %} - {% if groupchecker %} -

{{standard.name|truncatechars:28}}

+ {% getbool as groupchecker %} + {% if forloop.counter0 < 3 %} + {% if groupchecker %} +

{{s.name|truncatechars:28}}

{% else %} -

 {{standard.name|truncatechars:28}}

- {% endif %} - {% endif %} - {% endfor %} -
+

 {{s.name|truncatechars:28}}

+ {% endif %} + {% endif %} + {% endfor %} +
- {% endif %} - {% endfor %} + {% endfor %} + {% endif %} + {% endfor %}
{% endfor %}
@@ -193,6 +185,7 @@
+{% endblock content %} \ No newline at end of file diff --git a/standards/templates/standards/standards_update.html b/standards/templates/standards/standards_update.html index 682c19e..94ab528 100644 --- a/standards/templates/standards/standards_update.html +++ b/standards/templates/standards/standards_update.html @@ -100,8 +100,10 @@
- {% for s in possiblestandards %} - + {% for s in possiblestandards %} + {% if s.pk != standard.pk %} + + {% endif %} {% endfor %} @@ -278,13 +280,14 @@ $('#uploadedfile').on('change', function() { function uploadAction(filetodo){ var formData = new FormData(); formData.append("uploadedfile", filetodo); + formData.append("uploadsource", "standards"); if(allowedtypes.includes(filetodo.type) && filetodo.type.length > 0){ $.ajax({ url: "{% url 'cloud-adddir' parentid %}", headers: { "X-CSRFTOKEN": "{{ csrf_token }}" }, - data: formData, + data: formData, type: 'POST', cache: false, processData: false, diff --git a/standards/views.py b/standards/views.py index d69e4e6..dd21acc 100644 --- a/standards/views.py +++ b/standards/views.py @@ -25,10 +25,24 @@ class StandardsManagement(LoginRequiredMixin, ListView): # # Get all Users of the Same Agency as logged user areas = Areas.objects.filter(agency__pk=self.request.user.profile.agency.pk).order_by("areaorder") standards_of_user = Standards.objects.filter(agency__pk=self.request.user.profile.agency.pk, created_standard_by=self.request.user.pk) - standards_of_agency = Standards.objects.filter(agency__pk=self.request.user.profile.agency.pk, public=True) + #standards_of_agency = Standards.objects.filter(agency__pk=self.request.user.profile.agency.pk, public=True) unpubstandards_of_user = Standards.objects.filter(agency__pk=self.request.user.profile.agency.pk, public=False) - tasks = Tasks.objects.filter(agency__pk=self.request.user.profile.agency.pk) - context.update({'active_link' : 'standards', 'tasks': tasks, 'unpubstandards_of_user' : unpubstandards_of_user, 'standards_of_agency' : standards_of_agency, 'areas' : areas, 'standards_of_user' : standards_of_user}) + #tasks = Tasks.objects.filter(agency__pk=self.request.user.profile.agency.pk) + + standardcontent = [] + + for a in areas: + print(a) + standardcontent.append({"area" : a, "tasks" : []}) + tasks_in_area = Tasks.objects.filter(agency__pk=self.request.user.profile.agency.pk, area__pk=a.pk).order_by("name") + + for t in tasks_in_area: + standardcontent[len(standardcontent)-1]['tasks'].append({"task" : t, "standards" : Standards.objects.filter(agency__pk=self.request.user.profile.agency.pk, area__pk=a.pk, task = t.pk, area = a.pk, public=True).order_by("created_standard_date")}) + + #context.update({'active_link' : 'standards', 'tasks': tasks, 'unpubstandards_of_user' : unpubstandards_of_user, 'standards_of_agency' : standards_of_agency, 'areas' : areas, 'standards_of_user' : standards_of_user, 'standardcontent' : standardcontent}) + + context.update({'active_link' : 'standards', 'unpubstandards_of_user' : unpubstandards_of_user, 'areas' : areas, 'standards_of_user' : standards_of_user, 'standardcontent' : standardcontent}) + return context @@ -99,16 +113,6 @@ def StandardAdd(request): # GROUPS new_standard.save() - - - ''' - - HIER WEITER MACHEN: Gruppen, Dateien und Files werden nicht gespeichert, Länge des übergebenen - Arrays ist komisch, da Strings ankommen und es umgebaut werden muss. Wenn das Array aber LEER - ist, gibt es '' zurück und das ist komisch... - - - ''' # ADD GROUPS groups = normalForm.cleaned_data['checked_groups'].split(",") @@ -144,11 +148,7 @@ def StandardAdd(request): normalForm = StandardAddStandard(instance=request.user) editorForm = StandardAddStandardEditor(instance=request.user) - ''' - Hier werden nur die Dateien dem aktuellen User zur Auswahl gestellt, auf die er auch Zugriff hat. - Das geht NICHT rekursiv! Es wird nur das oberste Verzeichnis geprüft! SPÄTER! - ''' - + possibleFilesByVisible = [] allfiles = DataFile.objects.filter(agency=request.user.profile.agency) @@ -160,7 +160,6 @@ def StandardAdd(request): else: if(checkUserDirRights(request, actParent, request.user.pk)): possibleFilesByVisible.append(f) - diff --git a/users/views.py b/users/views.py index 1912637..189c5b4 100644 --- a/users/views.py +++ b/users/views.py @@ -97,6 +97,19 @@ def toUpdate(request): print("AGENCY ROOT DIR CREATED") else: print("MAIN ROOT DIR FOUND - FILESMODULE READY") + + # DEF STANDARD DIR + defstandard = DataDir.objects.filter(is_defaultstandard=True, agency__pk=request.user.profile.agency.pk) + + if(len(defstandard) == 0): + print("NO DEF STANDARD FOUND - CREATE") + rootdir = list(DataDir.objects.filter(is_root=True, agency__pk=request.user.profile.agency.pk))[0] + defstandard = DataDir(is_defaultstandard=True, agency=request.user.profile.agency, name="Uploaddateien Standards", parent_id=rootdir.pk) + defstandard.save() + print("AGENCY DEF STANDARD DIR CREATED") + else: + print("AGENCY DEF STANDARD DIR - FILESMODULE READY") + ''' DASHBOARD-View