QS 0.9.1 Chat noch ein wenig verbessert

This commit is contained in:
Holger Trampe 2020-05-31 13:17:35 +02:00
parent 24316961ab
commit 8a3aad15bf
6 changed files with 24 additions and 6 deletions

View File

@ -17,6 +17,7 @@ class ChatUpdateChatRoom(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(ChatUpdateChatRoom, self).__init__(*args, **kwargs)
print(kwargs["instance"].creator.profile.agency.pk)
self.fields['chatmembers'] = forms.MultipleChoiceField(required=True, label="Mitglieder", choices=[(u.id, u) for u in UserFullName.objects.filter(profile__agency__pk=kwargs["instance"].creator.profile.agency.pk)], widget=forms.CheckboxSelectMultiple())
self.fields['chatmembers_admin'] = forms.MultipleChoiceField(required=False, label="Raumverwalter", choices=[(u.id, u) for u in UserFullName.objects.filter(profile__agency__pk=kwargs["instance"].creator.profile.agency.pk)], widget=forms.CheckboxSelectMultiple())
@ -33,6 +34,8 @@ class ChatAddChatRoom(forms.ModelForm):
fields = ['roomname', 'chatmembers', 'chatmembers_admin']
def __init__(self, *args, **kwargs):
super(ChatAddChatRoom, self).__init__(*args, **kwargs)
print(kwargs["instance"])
self.fields['chatmembers'] = forms.MultipleChoiceField(required=True, label="Mitglieder", choices=[(u.id, u) for u in UserFullName.objects.filter(profile__agency__pk=kwargs["instance"].profile.agency.pk)], widget=forms.CheckboxSelectMultiple())
self.fields['chatmembers_admin'] = forms.MultipleChoiceField(required=False, label="Raumverwalter", choices=[(u.id, u) for u in UserFullName.objects.filter(profile__agency__pk=kwargs["instance"].profile.agency.pk)], widget=forms.CheckboxSelectMultiple())

View File

@ -15,14 +15,20 @@
</form>
</div>
<script type="text/javascript">
preventUpdatePresLive = true;
members = [{% for mem in object.chatmembers.all %} "{{mem.pk}}",{% endfor %}];
admins = [{% for mem in object.chatmembers_admin.all %} "{{mem.pk}}",{% endfor %}];
members = [{% for mem in object.chatmembers.all %} "{{mem.pk}}",{% endfor %}"{{object.creator.pk}}"];
admins = [{% for mem in object.chatmembers_admin.all %} "{{mem.pk}}",{% endfor %}"{{object.creator.pk}}"];
boxes = $(":checkbox");
console.log(members)
console.log(admins)
for(i = 0; i < boxes.length; i++){
if(members.indexOf(boxes[i]["value"]) !== -1){
@ -34,6 +40,9 @@
if(admins.indexOf(boxes[i]["value"]) !== -1){
if(boxes[i]["id"].indexOf("chatmembers_admin") !== -1){
$("#" + boxes[i]["id"]).prop("checked", true)
if(boxes[i]["value"] == admins[admins.length -1]){
$("#" + boxes[i]["id"]).prop("disabled", true)
}
}
}
}

View File

@ -39,6 +39,7 @@ def ChatAddGroupChat(request):
newchatroom.save()
newchatroom.chatmembers.set(form.cleaned_data["chatmembers"])
newchatroom.chatmembers_admin.set(form.cleaned_data["chatmembers_admin"])
newchatroom.save()
messages.success(request, f'Raum angelegt!')
else:

View File

@ -1,4 +1,4 @@
{% load counter_tag %}
listene{% load counter_tag %}
<table class="table table-striped table-sm table-bordered" id="timetable_team">
<tr>
<td id="9999999999_tableheadid">

View File

@ -857,6 +857,11 @@ def cronactions(request, code):
if(user.profile.news_push and news.agency == user.profile.agency):
newnotification = UserNotification(touser=user, notificationtext="Neue Agenturnews: " + news.name, notificationtype="agencynews", elementid=news.pk)
newnotification.save()
else:
print("API CODE FAILED")
data.update({"status" : "failed"})
return JsonResponse(data)
# CRONJOBS UM 00:01!