Agenturverbund Benachrichtigungen ENDLICH fertig
This commit is contained in:
parent
3ed92963c2
commit
f2f1cbe12f
|
|
@ -203,9 +203,8 @@ class UsersNotificationFormAgn(forms.ModelForm):
|
||||||
"agn_standard_copied_mail" : "Standard wurde übernommen",
|
"agn_standard_copied_mail" : "Standard wurde übernommen",
|
||||||
"agn_standard_comment_mail" : "Kommentar zu Standard aus meiner Agentur",
|
"agn_standard_comment_mail" : "Kommentar zu Standard aus meiner Agentur",
|
||||||
"agn_standard_comment_react_mail" : "Reaktion zu meinem Kommentar",
|
"agn_standard_comment_react_mail" : "Reaktion zu meinem Kommentar",
|
||||||
"agn_own_change_mail" : "Änderungen meiner Mitgliedschaften",
|
"agn_own_change_mail" : "Änderungen meiner Agenturverbunde",
|
||||||
"agn_other_change_mail" : "Änderungen anderer Mitgliedschaften",
|
"agn_other_change_mail" : "Änderung anderer Agenturverbunde",
|
||||||
|
|
||||||
}
|
}
|
||||||
fields = [
|
fields = [
|
||||||
'agn_standard_created_mail',
|
'agn_standard_created_mail',
|
||||||
|
|
|
||||||
|
|
@ -1203,7 +1203,7 @@ def AddMyAgencyToAgn(request, networkid):
|
||||||
agn = AgencyNetwork.objects.filter(networkid=networkid)
|
agn = AgencyNetwork.objects.filter(networkid=networkid)
|
||||||
|
|
||||||
if len(agn) == 0:
|
if len(agn) == 0:
|
||||||
messages.info(request, f'Agenturverband nicht gefunden!')
|
messages.info(request, f'Agenturverbund nicht gefunden!')
|
||||||
return redirect('dasettings')
|
return redirect('dasettings')
|
||||||
else:
|
else:
|
||||||
context = {
|
context = {
|
||||||
|
|
@ -1240,6 +1240,23 @@ def JoinAGN(request, pk):
|
||||||
if(agn.publicjoin):
|
if(agn.publicjoin):
|
||||||
messages.success(request, f'Verbund erfolgreich beigetreten!')
|
messages.success(request, f'Verbund erfolgreich beigetreten!')
|
||||||
agn.members.add(request.user.profile.agency)
|
agn.members.add(request.user.profile.agency)
|
||||||
|
|
||||||
|
# Benachrichtigung senden, dass eine neue Agentur dem Verbund beitreten will. DIe Info geht an alle administrativen Agenturen.
|
||||||
|
for adminagencys in agn.adminagencys.all():
|
||||||
|
usersofagency = Users.objects.filter(profile__agency=adminagencys)
|
||||||
|
|
||||||
|
for u in usersofagency:
|
||||||
|
if u.has_perm('users.agencynetwork') and u.has_perm('users.agencynetwork'):
|
||||||
|
if u.usernotifications.agn_own_change_mail:
|
||||||
|
notificationtext = " eine neue Agentur ist dem Verbund " + agn.name + " beigetreten."
|
||||||
|
sendMailNoti(notificationtext, u)
|
||||||
|
|
||||||
|
if u.usernotifications.agn_own_change_push:
|
||||||
|
newnotification = UserNotification(touser=u, notificationtext=" eine neue Agentur ist dem Verbund " + agn.name + " beigetreten.", notificationtype="")
|
||||||
|
newnotification.save()
|
||||||
|
|
||||||
|
channel_layer = channels.layers.get_channel_layer()
|
||||||
|
async_to_sync(channel_layer.group_send)("user_" + str(u.pk), {'type' : 'pushhandler', 'pushtext' : "pushnotification__Agenturverbund | Eine neue Agentur ist dem Verbund " + agn.name + " beigetreten."})
|
||||||
else:
|
else:
|
||||||
|
|
||||||
# STATUS
|
# STATUS
|
||||||
|
|
@ -1247,7 +1264,22 @@ def JoinAGN(request, pk):
|
||||||
agnp = AgencyNetworkPreperation(target_network=AgencyNetwork.objects.get(pk=pk), wanted_agency=request.user.profile.agency, status=1)
|
agnp = AgencyNetworkPreperation(target_network=AgencyNetwork.objects.get(pk=pk), wanted_agency=request.user.profile.agency, status=1)
|
||||||
agnp.save()
|
agnp.save()
|
||||||
|
|
||||||
|
# Benachrichtigung senden, dass eine neue Agentur dem Verbund beitreten will. DIe Info geht an alle administrativen Agenturen.
|
||||||
|
for adminagencys in agn.adminagencys.all():
|
||||||
|
usersofagency = Users.objects.filter(profile__agency=adminagencys)
|
||||||
|
|
||||||
|
for u in usersofagency:
|
||||||
|
if u.has_perm('users.agencynetwork') and u.has_perm('users.agencynetwork'):
|
||||||
|
if u.usernotifications.agn_own_change_mail:
|
||||||
|
notificationtext = " eine neue Agentur möchte dem Verbund " + agn.name + " beitreten."
|
||||||
|
sendMailNoti(notificationtext, u)
|
||||||
|
|
||||||
|
if u.usernotifications.agn_own_change_push:
|
||||||
|
newnotification = UserNotification(touser=u, notificationtext=" eine neue Agentur möchte dem Verbund " + agn.name + " beitreten.", notificationtype="")
|
||||||
|
newnotification.save()
|
||||||
|
|
||||||
|
channel_layer = channels.layers.get_channel_layer()
|
||||||
|
async_to_sync(channel_layer.group_send)("user_" + str(u.pk), {'type' : 'pushhandler', 'pushtext' : "pushnotification__Agenturverbund | Eine neue Agentur möchte dem Verbund " + agn.name + " beitreten."})
|
||||||
|
|
||||||
messages.success(request, f'Ihre Anfrage zum Beitritt wurde versendet. Sie erhalten eine Information, wenn die Anfrage angenommen wurde!')
|
messages.success(request, f'Ihre Anfrage zum Beitritt wurde versendet. Sie erhalten eine Information, wenn die Anfrage angenommen wurde!')
|
||||||
|
|
||||||
|
|
@ -1275,7 +1307,6 @@ def ManageAgInAgn(request, pk):
|
||||||
for a in network.adminagencys.all():
|
for a in network.adminagencys.all():
|
||||||
allagofagn.append(a)
|
allagofagn.append(a)
|
||||||
|
|
||||||
|
|
||||||
context = {
|
context = {
|
||||||
'active_link' : 'dasettings',
|
'active_link' : 'dasettings',
|
||||||
'agn' : list(agn)[0],
|
'agn' : list(agn)[0],
|
||||||
|
|
@ -1288,7 +1319,7 @@ def ManageAgInAgn(request, pk):
|
||||||
def AddAgToNetwork(request, network, targetag, aginvpk):
|
def AddAgToNetwork(request, network, targetag, aginvpk):
|
||||||
|
|
||||||
if IsAgencyInAgNetwork(Agency.objects.get(pk=targetag).pk, network):
|
if IsAgencyInAgNetwork(Agency.objects.get(pk=targetag).pk, network):
|
||||||
messages.info(request, f'Sie sind bereits in der Agentur!')
|
messages.info(request, f'Sie sind bereits im Agenturverbund!')
|
||||||
return redirect('dasettings')
|
return redirect('dasettings')
|
||||||
else:
|
else:
|
||||||
|
|
||||||
|
|
@ -1323,6 +1354,22 @@ def AgencyNetworkAjaxSettings(request):
|
||||||
agencynetwork.adminagencys.remove(agency)
|
agencynetwork.adminagencys.remove(agency)
|
||||||
agencynetwork.sharemembers.remove(agency)
|
agencynetwork.sharemembers.remove(agency)
|
||||||
success = True
|
success = True
|
||||||
|
|
||||||
|
# Benachrichtigung senden, dass eine neue Agentur dem Verbund beitreten will. DIe Info geht an alle administrativen Agenturen.
|
||||||
|
usersofagency = Users.objects.filter(profile__agency=agency)
|
||||||
|
for u in usersofagency:
|
||||||
|
if u.has_perm('users.agencynetwork') and u.has_perm('users.agencynetwork'):
|
||||||
|
if u.usernotifications.agn_other_change_mail:
|
||||||
|
notificationtext = " ihre Agentur wurde aus dem Verbund " + agencynetwork.name + " entfernt."
|
||||||
|
sendMailNoti(notificationtext, u)
|
||||||
|
|
||||||
|
if u.usernotifications.agn_other_change_push:
|
||||||
|
newnotification = UserNotification(touser=u, notificationtext=" ihre Agentur wurde aus dem Verbund " + agencynetwork.name + " entfernt.", notificationtype="")
|
||||||
|
newnotification.save()
|
||||||
|
|
||||||
|
channel_layer = channels.layers.get_channel_layer()
|
||||||
|
async_to_sync(channel_layer.group_send)("user_" + str(u.pk), {'type' : 'pushhandler', 'pushtext' : "pushnotification__Agenturverbund | Ihre Agentur wurde aus dem Verbund " + agencynetwork.name + " entfernt."})
|
||||||
|
|
||||||
elif request.method == 'GET' and request.GET['action'] == "removeinv":
|
elif request.method == 'GET' and request.GET['action'] == "removeinv":
|
||||||
AgencyNetworkPreperation.objects.get(pk=request.GET['agn_inv']).delete()
|
AgencyNetworkPreperation.objects.get(pk=request.GET['agn_inv']).delete()
|
||||||
success = True
|
success = True
|
||||||
|
|
@ -1340,6 +1387,20 @@ def AgencyNetworkAjaxSettings(request):
|
||||||
elif (request.GET['newstatus'] == "2"):
|
elif (request.GET['newstatus'] == "2"):
|
||||||
agn.adminagencys.add(agency)
|
agn.adminagencys.add(agency)
|
||||||
success = True
|
success = True
|
||||||
|
|
||||||
|
usersofagency = Users.objects.filter(profile__agency=agency)
|
||||||
|
for u in usersofagency:
|
||||||
|
if u.has_perm('users.agencynetwork') and u.has_perm('users.agencynetwork'):
|
||||||
|
if u.usernotifications.agn_other_change_mail:
|
||||||
|
notificationtext = " ihre Agentur hat im Verbund " + agn.name + " andere Rechte erhalten."
|
||||||
|
sendMailNoti(notificationtext, u)
|
||||||
|
|
||||||
|
if u.usernotifications.agn_other_change_push:
|
||||||
|
newnotification = UserNotification(touser=u, notificationtext=" ihre Agentur hat im Verbund " + agn.name + " andere Rechte erhalten.", notificationtype="")
|
||||||
|
newnotification.save()
|
||||||
|
|
||||||
|
channel_layer = channels.layers.get_channel_layer()
|
||||||
|
async_to_sync(channel_layer.group_send)("user_" + str(u.pk), {'type' : 'pushhandler', 'pushtext' : "pushnotification__Agenturverbund | Ihre Agentur hat im Verbund " + agn.name + " andere Rechte erhalten."})
|
||||||
else:
|
else:
|
||||||
success = False
|
success = False
|
||||||
return JsonResponse(data)
|
return JsonResponse(data)
|
||||||
|
|
|
||||||
|
|
@ -367,10 +367,10 @@ def StandardAdd(request, id=False):
|
||||||
for agn_admin in agencynetwork_single.adminagencys.all():
|
for agn_admin in agencynetwork_single.adminagencys.all():
|
||||||
if(agn_admin not in agency_send):
|
if(agn_admin not in agency_send):
|
||||||
agency_send.append(agn_admin)
|
agency_send.append(agn_admin)
|
||||||
if agn_admin == request.user.profile.agency:
|
if agn_admin != request.user.profile.agency:
|
||||||
users_of_other_ag = User.objects.filter(profile__agency=agn_admin)
|
users_of_other_ag = User.objects.filter(profile__agency=agn_admin)
|
||||||
for u in users_of_other_ag:
|
for u in users_of_other_ag:
|
||||||
if u.has_perm('users.standardmanager'):
|
if u.has_perm('users.standardmanager') and u.has_perm('users.agencynetwork'):
|
||||||
if u.usernotifications.agn_standard_created_mail:
|
if u.usernotifications.agn_standard_created_mail:
|
||||||
notificationtext = "im Agenturverbund " + agencynetwork_single.name + " wurde ein neuer Standard geteilt: " + standard.name
|
notificationtext = "im Agenturverbund " + agencynetwork_single.name + " wurde ein neuer Standard geteilt: " + standard.name
|
||||||
sendMailNoti(notificationtext, u)
|
sendMailNoti(notificationtext, u)
|
||||||
|
|
@ -384,10 +384,10 @@ def StandardAdd(request, id=False):
|
||||||
for agn_admin in agencynetwork_single.members.all():
|
for agn_admin in agencynetwork_single.members.all():
|
||||||
if(agn_admin not in agency_send):
|
if(agn_admin not in agency_send):
|
||||||
agency_send.append(agn_admin)
|
agency_send.append(agn_admin)
|
||||||
if agn_admin == request.user.profile.agency:
|
if agn_admin != request.user.profile.agency:
|
||||||
users_of_other_ag = User.objects.filter(profile__agency=agn_admin)
|
users_of_other_ag = User.objects.filter(profile__agency=agn_admin)
|
||||||
for u in users_of_other_ag:
|
for u in users_of_other_ag:
|
||||||
if u.has_perm('users.standardmanager'):
|
if u.has_perm('users.standardmanager') and u.has_perm('users.agencynetwork'):
|
||||||
if u.usernotifications.agn_standard_created_mail:
|
if u.usernotifications.agn_standard_created_mail:
|
||||||
notificationtext = "im Agenturverbund " + agencynetwork_single.name + " wurde ein neuer Standard geteilt: " + standard.name
|
notificationtext = "im Agenturverbund " + agencynetwork_single.name + " wurde ein neuer Standard geteilt: " + standard.name
|
||||||
sendMailNoti(notificationtext, u)
|
sendMailNoti(notificationtext, u)
|
||||||
|
|
@ -401,10 +401,10 @@ def StandardAdd(request, id=False):
|
||||||
for agn_admin in agencynetwork_single.sharemembers.all():
|
for agn_admin in agencynetwork_single.sharemembers.all():
|
||||||
if(agn_admin not in agency_send):
|
if(agn_admin not in agency_send):
|
||||||
agency_send.append(agn_admin)
|
agency_send.append(agn_admin)
|
||||||
if agn_admin == request.user.profile.agency:
|
if agn_admin != request.user.profile.agency:
|
||||||
users_of_other_ag = User.objects.filter(profile__agency=agn_admin)
|
users_of_other_ag = User.objects.filter(profile__agency=agn_admin)
|
||||||
for u in users_of_other_ag:
|
for u in users_of_other_ag:
|
||||||
if u.has_perm('users.standardmanager'):
|
if u.has_perm('users.standardmanager') and u.has_perm('users.agencynetwork'):
|
||||||
if u.usernotifications.agn_standard_created_mail:
|
if u.usernotifications.agn_standard_created_mail:
|
||||||
notificationtext = "im Agenturverbund " + agencynetwork_single.name + " wurde ein neuer Standard geteilt: " + standard.name
|
notificationtext = "im Agenturverbund " + agencynetwork_single.name + " wurde ein neuer Standard geteilt: " + standard.name
|
||||||
sendMailNoti(notificationtext, u)
|
sendMailNoti(notificationtext, u)
|
||||||
|
|
@ -418,9 +418,6 @@ def StandardAdd(request, id=False):
|
||||||
# Clear sended Agencys for multiple Networks
|
# Clear sended Agencys for multiple Networks
|
||||||
agency_send = []
|
agency_send = []
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if request.user.has_perm('users.standardmanager'):
|
if request.user.has_perm('users.standardmanager'):
|
||||||
messages.success(request, f'Standard {standard.name} aktualisiert!')
|
messages.success(request, f'Standard {standard.name} aktualisiert!')
|
||||||
else:
|
else:
|
||||||
|
|
@ -540,8 +537,8 @@ def StandardAdd(request, id=False):
|
||||||
return render(request, 'standards/standards_add.html', context)
|
return render(request, 'standards/standards_add.html', context)
|
||||||
|
|
||||||
|
|
||||||
|
# Funktion zum versenden einer Mail inkl. TEmplate
|
||||||
def sendMailNoti(notificationtext, user_touched, linktarget=""):
|
def sendMailNoti(notificationtext, user_touched, linktarget=""):
|
||||||
|
|
||||||
username = user_touched.first_name + " " + user_touched.last_name
|
username = user_touched.first_name + " " + user_touched.last_name
|
||||||
msg_html = render_to_string('notificsys/notification_mail.html', {'username': username, 'notificationtext' : notificationtext, 'linktarget' : linktarget})
|
msg_html = render_to_string('notificsys/notification_mail.html', {'username': username, 'notificationtext' : notificationtext, 'linktarget' : linktarget})
|
||||||
send_mail(
|
send_mail(
|
||||||
|
|
@ -552,110 +549,7 @@ def sendMailNoti(notificationtext, user_touched, linktarget=""):
|
||||||
html_message=msg_html,
|
html_message=msg_html,
|
||||||
fail_silently=True
|
fail_silently=True
|
||||||
)
|
)
|
||||||
'''
|
|
||||||
@login_required
|
|
||||||
def StandardUpdate(request, id):
|
|
||||||
standard = Standards.objects.get(pk=id, agency=request.user.profile.agency)
|
|
||||||
if request.method == 'POST':
|
|
||||||
#normalForm = StandardUpdateStandard(request.POST, instance=standard)
|
|
||||||
normalForm = StandardUpdateStandard(request.POST, instance=standard)
|
|
||||||
editorForm = StandardUpdateStandardEditor(request.POST, instance=standard)
|
|
||||||
|
|
||||||
if editorForm.is_valid() and normalForm.is_valid():
|
|
||||||
existing_standard = Standards.objects.get(pk=id)
|
|
||||||
existing_standard.last_modified_by = request.user
|
|
||||||
existing_standard.last_modified_on = datetime.now()
|
|
||||||
existing_standard.task = normalForm.cleaned_data['task']
|
|
||||||
existing_standard.area = normalForm.cleaned_data['area']
|
|
||||||
existing_standard.name = normalForm.cleaned_data['name']
|
|
||||||
existing_standard.content = editorForm.cleaned_data['content']
|
|
||||||
existing_standard.freefield_content = normalForm.cleaned_data['freefield_content']
|
|
||||||
existing_standard.freefield_title = normalForm.cleaned_data['freefield_title']
|
|
||||||
|
|
||||||
#existing_standard.representative.set(normalForm.cleaned_data['representative'])
|
|
||||||
#existing_standard.executor.set(normalForm.cleaned_data['executor'])
|
|
||||||
#existing_standard.authority.set(normalForm.cleaned_data['authority'])
|
|
||||||
|
|
||||||
if request.user.has_perm('users.standardmanager'):
|
|
||||||
messages.success(request, f'Standard {existing_standard.name} aktualisiert!')
|
|
||||||
else:
|
|
||||||
if existing_standard.public:
|
|
||||||
existing_standard.public = False
|
|
||||||
messages.warning(request, f'Standard {existing_standard.name} aktualisiert und ist nicht mehr öffentlich, damit Änderungen geprüft werden können.')
|
|
||||||
else:
|
|
||||||
messages.success(request, f'Standard {existing_standard.name} aktualisiert!')
|
|
||||||
existing_standard.save()
|
|
||||||
return redirect('/standards')
|
|
||||||
|
|
||||||
else:
|
|
||||||
normalForm = StandardUpdateStandard(instance=standard)
|
|
||||||
editorForm = StandardUpdateStandardEditor(instance=standard)
|
|
||||||
|
|
||||||
|
|
||||||
possibleFilesByVisible = []
|
|
||||||
|
|
||||||
allfiles = DataFile.objects.filter(agency=request.user.profile.agency)
|
|
||||||
|
|
||||||
for f in allfiles:
|
|
||||||
actParent = DataDir.objects.get(pk=f.parent.pk, agency=request.user.profile.agency)
|
|
||||||
if actParent.is_root:
|
|
||||||
possibleFilesByVisible.append(f)
|
|
||||||
else:
|
|
||||||
if(checkUserDirRights(request, actParent, request.user.pk) and f not in standard.addedfiles.all()):
|
|
||||||
possibleFilesByVisible.append(f)
|
|
||||||
|
|
||||||
|
|
||||||
possiblestandards = Standards.objects.filter(agency=request.user.profile.agency, public=True)
|
|
||||||
possiblestandards_final = []
|
|
||||||
for s in possiblestandards:
|
|
||||||
if s not in standard.linked_standards.all():
|
|
||||||
possiblestandards_final.append(s)
|
|
||||||
|
|
||||||
possible_verant = User.objects.filter(profile__agency__pk=request.user.profile.agency.pk)
|
|
||||||
possible_verant_final = []
|
|
||||||
for pv in possible_verant:
|
|
||||||
if pv not in standard.authority.all():
|
|
||||||
possible_verant_final.append(pv)
|
|
||||||
|
|
||||||
possible_ex = User.objects.filter(profile__agency__pk=request.user.profile.agency.pk)
|
|
||||||
possible_ex_final = []
|
|
||||||
for pv in possible_ex:
|
|
||||||
if pv not in standard.executor.all():
|
|
||||||
possible_ex_final.append(pv)
|
|
||||||
|
|
||||||
possible_ver = User.objects.filter(profile__agency__pk=request.user.profile.agency.pk)
|
|
||||||
possible_ver_final = []
|
|
||||||
for pv in possible_ver:
|
|
||||||
if pv not in standard.representative.all():
|
|
||||||
possible_ver_final.append(pv)
|
|
||||||
|
|
||||||
#agencynetworks = AgencyNetwork.objects.filter(creator_agency=request.user.profile.agency) | AgencyNetwork.objects.filter(adminagencys__in=[request.user.profile.agency.pk]) | AgencyNetwork.objects.filter(members__in=[request.user.profile.agency.pk]) | AgencyNetwork.objects.filter(sharemembers__in=[request.user.profile.agency.pk])
|
|
||||||
|
|
||||||
agencynetworks_all = AgencyNetwork.objects.all()
|
|
||||||
agencynetworks = []
|
|
||||||
|
|
||||||
for a in agencynetworks_all:
|
|
||||||
if self.request.user.profile.agency in a.adminagencys.all() or self.request.user.profile.agency in a.members.all() or self.request.user.profile.agency in a.sharemembers.all():
|
|
||||||
agencynetworks.append(a)
|
|
||||||
|
|
||||||
context = {
|
|
||||||
'normalForm' : normalForm,
|
|
||||||
'editorForm' : editorForm,
|
|
||||||
'standard' : standard,
|
|
||||||
'active_link' : 'standards',
|
|
||||||
'standard_id' : standard.pk,
|
|
||||||
'standard_status' : standard.public,
|
|
||||||
'possibleFilesByVisible' : possibleFilesByVisible,
|
|
||||||
'agencygroups' : AgencyGroup.objects.filter(agency=request.user.profile.agency),
|
|
||||||
'parentid' : list(DataDir.objects.filter(agency=request.user.profile.agency, is_root=True))[0].pk,
|
|
||||||
'poss_verant' : possible_verant_final,
|
|
||||||
'poss_ex' : possible_ex_final,
|
|
||||||
'poss_ver' : possible_ver_final,
|
|
||||||
'possiblestandards' : possiblestandards_final,
|
|
||||||
"agencynetworks" : agencynetworks
|
|
||||||
}
|
|
||||||
return render(request, 'standards/standards_update.html', context)
|
|
||||||
'''
|
|
||||||
@login_required
|
@login_required
|
||||||
def load_tasks(request):
|
def load_tasks(request):
|
||||||
areaid = request.GET.get('areaid')
|
areaid = request.GET.get('areaid')
|
||||||
|
|
@ -760,6 +654,22 @@ def CopyStandard(request, pk):
|
||||||
tempdatafile.save()
|
tempdatafile.save()
|
||||||
new_standard.addedfiles.add(tempdatafile)
|
new_standard.addedfiles.add(tempdatafile)
|
||||||
|
|
||||||
|
# Sende Info, dass ein Standard übernommen wurde, an die Erstelleragentur
|
||||||
|
usersofagency = Users.objects.filter(profile__agency=sc.agency)
|
||||||
|
|
||||||
|
for u in usersofagency:
|
||||||
|
if u.has_perm('users.standardmanager') and u.has_perm('users.agencynetwork'):
|
||||||
|
if u.usernotifications.agn_standard_copied_mail:
|
||||||
|
notificationtext = "der Standard " + sc.name + " wurde von der Agentur " + request.user.profile.agency.name + " übernommen."
|
||||||
|
sendMailNoti(notificationtext, u)
|
||||||
|
|
||||||
|
if u.usernotifications.agn_standard_copied_push:
|
||||||
|
newnotification = UserNotification(touser=u, notificationtext="der Standard " + sc.name + " wurde von der Agentur " + request.user.profile.agency.name + " übernommen.", notificationtype="")
|
||||||
|
newnotification.save()
|
||||||
|
|
||||||
|
channel_layer = channels.layers.get_channel_layer()
|
||||||
|
async_to_sync(channel_layer.group_send)("user_" + str(u.pk), {'type' : 'pushhandler', 'pushtext' : "pushnotification__Agenturverbund | Der Standard " + sc.name + " wurde von der Agentur " + request.user.profile.agency.name + " übernommen."})
|
||||||
|
|
||||||
return redirect('standard-add', new_standard.pk)
|
return redirect('standard-add', new_standard.pk)
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
|
|
@ -889,7 +799,26 @@ def updatesbyajax_agn(request, pk):
|
||||||
sc = StandardComments(standard=Standards.objects.get(pk=pk), content=content, comment_by=request.user, comment_on=datetime.now(), last_modified_on=datetime.now())
|
sc = StandardComments(standard=Standards.objects.get(pk=pk), content=content, comment_by=request.user, comment_on=datetime.now(), last_modified_on=datetime.now())
|
||||||
sc.save()
|
sc.save()
|
||||||
|
|
||||||
|
# Benachrichtigung an Standardagentur
|
||||||
|
standard_comment = Standards.objects.get(pk=pk)
|
||||||
|
usersofagency = User.objects.filter(profile__agency=standard_comment.agency)
|
||||||
|
|
||||||
|
for u in usersofagency:
|
||||||
|
if u.has_perm('users.standardmanager'):
|
||||||
|
if u.usernotifications.agn_standard_comment_mail:
|
||||||
|
notificationtext = "der Standard " + standard_comment.name + " wurde kommentiert: " + content
|
||||||
|
sendMailNoti(notificationtext, u)
|
||||||
|
|
||||||
|
if u.usernotifications.agn_standard_comment_push:
|
||||||
|
newnotification = UserNotification(touser=u, notificationtext="der Standard " + standard_comment.name + " wurde kommentiert: " + content, notificationtype="")
|
||||||
|
newnotification.save()
|
||||||
|
|
||||||
|
channel_layer = channels.layers.get_channel_layer()
|
||||||
|
async_to_sync(channel_layer.group_send)("user_" + str(u.pk), {'type' : 'pushhandler', 'pushtext' : "pushnotification__Agenturverbund | Der Standard " + standard_comment.name + " wurde kommentiert:" + content})
|
||||||
|
|
||||||
|
|
||||||
return JsonResponse({"success" : "success", "sc_id" : sc.pk, "sc_c" : sc.content, "sc_user" : sc.comment_by.first_name + " " + sc.comment_by.last_name, "sc_date" : defaultfilters.date(sc.last_modified_on, "SHORT_DATETIME_FORMAT") })
|
return JsonResponse({"success" : "success", "sc_id" : sc.pk, "sc_c" : sc.content, "sc_user" : sc.comment_by.first_name + " " + sc.comment_by.last_name, "sc_date" : defaultfilters.date(sc.last_modified_on, "SHORT_DATETIME_FORMAT") })
|
||||||
|
|
||||||
elif(request.GET["action"] == "del_comment"):
|
elif(request.GET["action"] == "del_comment"):
|
||||||
StandardComments.objects.get(pk=request.GET.get("id")).delete()
|
StandardComments.objects.get(pk=request.GET.get("id")).delete()
|
||||||
return JsonResponse({})
|
return JsonResponse({})
|
||||||
|
|
@ -911,6 +840,19 @@ def updatesbyajax_agn(request, pk):
|
||||||
counter_up = len(StandardCommentRate.objects.filter(oncomment=comment, rate_stats=1))
|
counter_up = len(StandardCommentRate.objects.filter(oncomment=comment, rate_stats=1))
|
||||||
counter_down = len(StandardCommentRate.objects.filter(oncomment=comment, rate_stats=0))
|
counter_down = len(StandardCommentRate.objects.filter(oncomment=comment, rate_stats=0))
|
||||||
|
|
||||||
|
u = comment.comment_by
|
||||||
|
if u.usernotifications.agn_standard_comment_react_mail:
|
||||||
|
notificationtext = "der Kommentar zum Standard " + comment.standard.name + " wurde gerated!"
|
||||||
|
sendMailNoti(notificationtext, u)
|
||||||
|
|
||||||
|
if u.usernotifications.agn_standard_comment_react_push:
|
||||||
|
newnotification = UserNotification(touser=u, notificationtext="der Kommentar zum Standard " + comment.standard.name + " wurde gerated!", notificationtype="")
|
||||||
|
newnotification.save()
|
||||||
|
|
||||||
|
channel_layer = channels.layers.get_channel_layer()
|
||||||
|
async_to_sync(channel_layer.group_send)("user_" + str(u.pk), {'type' : 'pushhandler', 'pushtext' : "pushnotification__Kommantar | der Kommentar zum Standard " + comment.standard.name + " wurde gerated!"})
|
||||||
|
|
||||||
|
|
||||||
return JsonResponse({"up" : counter_up, "down" : counter_down})
|
return JsonResponse({"up" : counter_up, "down" : counter_down})
|
||||||
elif(request.GET["action"] == "markingfavorit"):
|
elif(request.GET["action"] == "markingfavorit"):
|
||||||
workingstandard = Standards.objects.get(pk=pk)
|
workingstandard = Standards.objects.get(pk=pk)
|
||||||
|
|
|
||||||
|
|
@ -394,7 +394,7 @@ class UserNotifications(models.Model):
|
||||||
agn_standard_comment_react_push = models.BooleanField(default=True)
|
agn_standard_comment_react_push = models.BooleanField(default=True)
|
||||||
|
|
||||||
# Änderungen eigener Mitgliedsanfragen in anderen Verbünden
|
# Änderungen eigener Mitgliedsanfragen in anderen Verbünden
|
||||||
agn_own_change_mail = models.BooleanField(default=True)
|
agn_own_change_mail = models.BooleanField(default=False)
|
||||||
agn_own_change_push = models.BooleanField(default=True)
|
agn_own_change_push = models.BooleanField(default=True)
|
||||||
|
|
||||||
# Änderungen anderer Mitgliedschaften (Beitrittsanfragen!)
|
# Änderungen anderer Mitgliedschaften (Beitrittsanfragen!)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue