diff --git a/chat/templates/chat/chatmanagement.html b/chat/templates/chat/chatmanagement.html index 858368d..35527eb 100644 --- a/chat/templates/chat/chatmanagement.html +++ b/chat/templates/chat/chatmanagement.html @@ -68,8 +68,8 @@
{% for user in usersofagency %} -
-
+
+
@@ -95,7 +95,7 @@ {% for chatroom in chatrooms %} {% if user in chatroom.chatmembers.all or user in chatroom.chatmembers_admin.all or user == chatroom.creator and chatroom.chatroomtype == 1 %}
-
+
{{chatroom.roomname}}
diff --git a/notificsys/models.py b/notificsys/models.py index 0b4290e..61af06e 100644 --- a/notificsys/models.py +++ b/notificsys/models.py @@ -24,4 +24,4 @@ class UserNotification(models.Model): # Eventuell automatisches Lösch-Datum #willdeleted = models.DateTimeField(default=timezone.now()+timedelta(days=30)) # Textcontent - notificationtext = models.CharField(max_length=5000, blank=True) \ No newline at end of file + notificationtext = models.CharField(max_length=15000, blank=True) \ No newline at end of file diff --git a/standards/templatetags/__pycache__/counter_tag.cpython-38.pyc b/standards/templatetags/__pycache__/counter_tag.cpython-38.pyc index 8605afe..12080b9 100644 Binary files a/standards/templatetags/__pycache__/counter_tag.cpython-38.pyc and b/standards/templatetags/__pycache__/counter_tag.cpython-38.pyc differ diff --git a/standards/templatetags/counter_tag.py b/standards/templatetags/counter_tag.py index 666f478..22b2d7e 100644 --- a/standards/templatetags/counter_tag.py +++ b/standards/templatetags/counter_tag.py @@ -39,7 +39,6 @@ def has_group_byname(user, groupname): agroup = AgencyGroup.objects.filter(agency=user.profile.agency, agencygroupname=groupname)[0] for g in user.groups.all(): if g.name == agroup.group.name: - print("HIER") in_group = True return in_group @@ -523,9 +522,9 @@ def getUserIsRep(user): # Check, if a user is behind a day in agency (working startdate) @register.simple_tag def startdatecheck(usertocheck, day): - uertime = list(UserTime.objects.filter(user=usertocheck))[0] + usertime = list(UserTime.objects.filter(user=usertocheck))[0] - if uertime.startdate < day: + if usertime.startdate != None and usertime.startdate < day: return True else: return False diff --git a/timemanagement/templates/timemanagement/rendered_table.html b/timemanagement/templates/timemanagement/rendered_table.html index 2b8c551..159bac5 100644 --- a/timemanagement/templates/timemanagement/rendered_table.html +++ b/timemanagement/templates/timemanagement/rendered_table.html @@ -429,6 +429,8 @@ function recalculateChoosenDays(userid=false){ $("#id_end").data("DateTimePicker").date(date_end); localStorage.setItem("ab_userid", userid); + $("#id_userid").val(userid); + $.ajax({ type: "GET", diff --git a/timemanagement/views.py b/timemanagement/views.py index 23eeaf1..5b96609 100644 --- a/timemanagement/views.py +++ b/timemanagement/views.py @@ -141,38 +141,38 @@ def AbsenceManagmenet(request, activemonth=False, activeyear=False): formtocheck = AddAbsence(request.POST, instance=request.user) if(formtocheck.is_valid()): - try: - workinguser = UserFullName.objects.get(pk=formtocheck.cleaned_data["userid"]) - - # DIFFERENT USER AGENCY - if(workinguser.profile.agency != request.user.profile.agency): - messages.success(request, f'Das dürfen Sie nicht!') - return redirect('tma-management', formtocheck.cleaned_data['activemonth'], formtocheck.cleaned_data['activeyear']) - # ALL OK - START SAVING ABSENCE - else: - confirmstat = 0 - reason = AbsenceReason.objects.filter(name=formtocheck.cleaned_data["reason"], agency=request.user.profile.agency)[0] - - if(request.user.has_perm("users.absencemanager") == False and reason.need_confirm == True): - confirmstat = 1 - messages.success(request, f'Abwesenheit beantragt') - # SEND NOTIFICATION - elif(request.user.has_perm("users.absencemanager") == False and reason.need_confirm == False): - confirm_status = 0 - messages.success(request, f'Abwesenheit eingetragen') - else: - messages.success(request, f'Abwesenheit eingetragen') - - rep = None - if(formtocheck.cleaned_data["representator"] != None): - rep = User.objects.get(pk=formtocheck.cleaned_data["representator"].pk) - - #newab = Absence(agency=request.user.profile.agency, user=workinguser, start=formtocheck.cleaned_data["start"],end=formtocheck.cleaned_data["end"], representator=rep, confirm_status=confirmstat, info=formtocheck.cleaned_data["info"], reason=formtocheck.cleaned_data["reason"], start_ishalf=formtocheck.cleaned_data["start_ishalf"], end_ishalf=formtocheck.cleaned_data["end_ishalf"]).save() - newab = Absence(agency=request.user.profile.agency, user=workinguser, start=formtocheck.cleaned_data["start"],end=formtocheck.cleaned_data["end"], representator=rep, confirm_status=confirmstat, info=formtocheck.cleaned_data["info"], reason=formtocheck.cleaned_data["reason"], startday_info=formtocheck.cleaned_data["startday_info"], endday_info=formtocheck.cleaned_data["endday_info"]).save() - # USER NOT FOUND - except: - messages.success(request, f'Fehler bei Abwesenheitsbearbeitung! Bitte wenden Sie sich an den Support.') + #try: + workinguser = UserFullName.objects.get(pk=formtocheck.cleaned_data["userid"]) + + # DIFFERENT USER AGENCY + if(workinguser.profile.agency != request.user.profile.agency): + messages.success(request, f'Das dürfen Sie nicht!') return redirect('tma-management', formtocheck.cleaned_data['activemonth'], formtocheck.cleaned_data['activeyear']) + # ALL OK - START SAVING ABSENCE + else: + confirmstat = 0 + reason = AbsenceReason.objects.filter(name=formtocheck.cleaned_data["reason"], agency=request.user.profile.agency)[0] + + if(request.user.has_perm("users.absencemanager") == False and reason.need_confirm == True): + confirmstat = 1 + messages.success(request, f'Abwesenheit beantragt') + # SEND NOTIFICATION + elif(request.user.has_perm("users.absencemanager") == False and reason.need_confirm == False): + confirm_status = 0 + messages.success(request, f'Abwesenheit eingetragen') + else: + messages.success(request, f'Abwesenheit eingetragen') + + rep = None + if(formtocheck.cleaned_data["representator"] != None): + rep = User.objects.get(pk=formtocheck.cleaned_data["representator"].pk) + + #newab = Absence(agency=request.user.profile.agency, user=workinguser, start=formtocheck.cleaned_data["start"],end=formtocheck.cleaned_data["end"], representator=rep, confirm_status=confirmstat, info=formtocheck.cleaned_data["info"], reason=formtocheck.cleaned_data["reason"], start_ishalf=formtocheck.cleaned_data["start_ishalf"], end_ishalf=formtocheck.cleaned_data["end_ishalf"]).save() + newab = Absence(agency=request.user.profile.agency, user=workinguser, start=formtocheck.cleaned_data["start"],end=formtocheck.cleaned_data["end"], representator=rep, confirm_status=confirmstat, info=formtocheck.cleaned_data["info"], reason=formtocheck.cleaned_data["reason"], startday_info=formtocheck.cleaned_data["startday_info"], endday_info=formtocheck.cleaned_data["endday_info"]).save() + # USER NOT FOUND + #except: + # messages.success(request, f'Fehler bei Abwesenheitsbearbeitung! Bitte wenden Sie sich an den Support.') + # return redirect('tma-management', formtocheck.cleaned_data['activemonth'], formtocheck.cleaned_data['activeyear']) return redirect('tma-management', formtocheck.cleaned_data['activemonth'], formtocheck.cleaned_data['activeyear']) else: @@ -1066,13 +1066,11 @@ def calculateHolidays(request, start, end, start_half, end_half, user): weekdays = [] freedaycounter = 0 for dt in daterange(start, end): - if dt.isoweekday() not in weekdays: counter += 1 for freeday in allfreedays.all(): if(dt == freeday.day): freedaycounter += 1 - # Prüfung, ob der Mitarbeiter an diesem Tag überhaupt arbeitet. Wenn nicht, wird der Freedaycounter einfach erhöht if(dt.isoweekday() == 1): if user.usertime.wd_mo == 0.0: @@ -1123,7 +1121,7 @@ def calculatingHolidaysByAbsence(request, absence): weekdays = [] freedaycounter = 0 for dt in daterange(absence.start, absence.end): - + if dt.isoweekday() not in weekdays: finalholidayinabsence += 1 # Prüfung, ob freie Tage vorhanden sind @@ -1131,6 +1129,7 @@ def calculatingHolidaysByAbsence(request, absence): # FREEDAY FOUND if(dt == freeday.day): freedaycounter += 1 + # Prüfung, ob der Mitarbeiter an diesem Tag überhaupt arbeitet. Wenn nicht, wird der Freedaycounter einfach erhöht stat = False if(dt.isoweekday() == 1):