Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

devLEASH-FE #811

Open
wants to merge 27 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
98c2010
Merge pull request #759 from Quado2/quado.fe-dev
Harithmetic1 Oct 2, 2021
7ee5e27
Revert "Implemented message deletion, updating, adding and removal of…
Harithmetic1 Oct 2, 2021
7c59e4f
Merge pull request #761 from zurichat/revert-759-quado.fe-dev
Harithmetic1 Oct 2, 2021
b23a2cc
Trying to push to repo
Harithmetic1 Oct 2, 2021
c7d7132
Revert "Trying to push to repo"
Harithmetic1 Oct 2, 2021
8dd4302
Fixing merge conflicts
Harithmetic1 Oct 3, 2021
de0e366
Fixing merge conflicts
Harithmetic1 Oct 3, 2021
7d4c2b1
Revert "Merge pull request #761 from zurichat/revert-759-quado.fe-dev"
Harithmetic1 Oct 3, 2021
2bc13dd
Fixing merge conflicts
Harithmetic1 Oct 3, 2021
12a4bd7
Dynamic Message Input / Create Channel Modal
Valenteeena Oct 3, 2021
f6d7802
Implementing notification settings per user per channel
Harithmetic1 Oct 3, 2021
5da2aa8
Implementing notification settings per user per channel
Harithmetic1 Oct 3, 2021
d2fa9f4
Merge branch 'dev' into Harithmetic.fe-dev
Harithmetic1 Oct 3, 2021
69fee13
Merge pull request #806 from Harithmetic1/Harithmetic.fe-dev
Harithmetic1 Oct 3, 2021
071a33e
Add people Modal Dynamic
Valenteeena Oct 3, 2021
3511bf2
Merge branch 'dev' of https://github.com/zurichat/zc_plugin_channels …
Valenteeena Oct 3, 2021
6d6545b
Fixing bugs for live server
Harithmetic1 Oct 3, 2021
47b52e7
Merge branch 'Harithmetic.fe-dev' of https://github.com/Harithmetic1/…
Harithmetic1 Oct 3, 2021
971dd7f
Merge pull request #808 from Harithmetic1/Harithmetic.fe-dev
Harithmetic1 Oct 3, 2021
d7a2d99
Update MessageBoardIndex.jsx
Valenteeena Oct 3, 2021
b8ae6d0
Revert "Update MessageBoardIndex.jsx"
Valenteeena Oct 3, 2021
f0b6785
Revert "Fixing the error on live server"
Valenteeena Oct 3, 2021
3c30df2
Merge pull request #809 from zurichat/revert-808-Harithmetic.fe-dev
Valenteeena Oct 3, 2021
3b4e425
change1
Valenteeena Oct 3, 2021
f4f905f
Revert "Revert "Update MessageBoardIndex.jsx""
Valenteeena Oct 3, 2021
17b9d5c
Revert "Update MessageBoardIndex.jsx"
Valenteeena Oct 3, 2021
1d04d41
Merge pull request #1 from zurichat/dev
oluwadaprof Oct 3, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 1 addition & 6 deletions backend/channel_plugin/apps/centri/apps.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,7 @@ class CentriConfig(AppConfig):

def ready(self) -> None:
try:
from apps.centri.signals import(
channel_signals,
thread_signals,
message_signals,
central_signals
)
from apps.centri.signals import channel_signals, thread_signals, message_signals
except ImportError:
pass

Expand Down
109 changes: 63 additions & 46 deletions backend/channel_plugin/apps/centri/signals/channel_signals.py
Original file line number Diff line number Diff line change
@@ -1,49 +1,62 @@
from apps.centri.centwrapper import CentClient
from apps.centri.helperfuncs import build_room_name
from apps.channelmessages.serializers import ChannelMessageSerializer
from apps.channels.views import ChannelMemberViewset
from cent import CentException
from django.conf import settings
from django.core.signals import request_finished
from django.dispatch import receiver
from django.utils import timezone
from django.conf import settings

from cent import CentException

from apps.centri.centwrapper import CentClient
from apps.channels.views import ChannelMemberViewset
from apps.channelmessages.serializers import ChannelMessageSerializer
from apps.centri.helperfuncs import build_room_name


CLIENT = CentClient(
address=settings.CENTRIFUGO_URL,
api_key=settings.CENTRIFUGO_API_KEY,
timeout=3,
verify=True,
address = settings.CENTRIFUGO_URL,
api_key = settings.CENTRIFUGO_API_KEY,
timeout = 3,
verify = True
)


@receiver(request_finished, sender=ChannelMemberViewset)
def JoinedChannelSignal(sender, **kwargs):

serializer = ChannelMessageSerializer(
data=data, context={"channel_id": channel_id, "org_id": org_id}

uid = kwargs.get("dispatch_uid")

if uid == "JoinedChannelSignal":
org_id = kwargs.get("org_id")
channel_id = kwargs.get("channel_id")
user = kwargs.get("user")

room_name = build_room_name(org_id, channel_id)

data = {
"user_id": user.get("_id"),
"content": "event",
"files": []
}

event = {
"action": "join:channel",
"recipients": kwargs.get("added", [user])
}

if user:
data = {"user_id": user.get("_id"), "content": "event", "files": []}
else:
if not kwargs.get("added"):
return None
else:
try:
data = {
"user_id": kwargs.get("added")[0].get("_id"),
"content": "event",
"files": [],
}
except: # noqa
return None

event = {"action": "join:channel", "recipients": kwargs.get("added", [user])}
serializer = ChannelMessageSerializer(
data=data,
context={"channel_id": channel_id, "org_id": org_id}
)

serializer.is_valid(raise_exception=True)
channelmessage = serializer.data.get("channelmessage")

# required
channelmessage.type = "event"
channelmessage.event = event
channelmessage.can_reply = False
=======
try:
serializer = ChannelMessageSerializer(
data=data, context={"channel_id": channel_id, "org_id": org_id}
Expand All @@ -54,55 +67,59 @@ def JoinedChannelSignal(sender, **kwargs):
channelmessage.type = "event"
channelmessage.event = event
channelmessage.can_reply = False
>>>>>>> 83443824799f880c1d34fec26578e5cd8da4f730

# required
result = channelmessage.create(org_id)
print("\n")
print(result)
print("\n")
CLIENT.publish(room_name, result)
except: # noqa
except:
pass


@receiver(request_finished, sender=ChannelMemberViewset)
def LeftChannelSignal(sender, **kwargs):
uid = kwargs.get("dispatch_uid")

if uid == "LeftChannelSignal":



org_id = kwargs.get("org_id")
channel_id = kwargs.get("channel_id")
user = kwargs.get("user")

room_name = build_room_name(org_id, channel_id)

try:
CLIENT.unsubscribe(user.get("_id"), room_name)
except CentException:
print("client removal failed because channel is not active")

data = {"user_id": user.get("_id"), "content": "event", "files": []}

event = {"action": "leave:channel", "recipients": kwargs.get("removed", [user])}

data = {
"user_id": user.get("_id"),
"content": "event",
"files": []
}

event = {
"action": "leave:channel",
"recipients": kwargs.get("removed", [user])
}

serializer = ChannelMessageSerializer(
data=data, context={"channel_id": channel_id, "org_id": org_id}
data=data,
context={"channel_id": channel_id, "org_id": org_id}
)

serializer.is_valid(raise_exception=True)
channelmessage = serializer.data.get("channelmessage")

# required
channelmessage.type = "event"
channelmessage.event = event
channelmessage.can_reply = False

try:
result = channelmessage.create(org_id)
print("\n")
print(result)
print("\n")
CLIENT.publish(room_name, result)
except: # noqa
except:
pass

13 changes: 1 addition & 12 deletions backend/channel_plugin/apps/centri/signals/message_signals.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,6 @@ def CreateMessageSignal(sender, **kwargs):
}

try:
print("\n")
print(payload)
print("\n")
CLIENT.publish(room_name, payload)
except CentException:
pass
Expand All @@ -61,10 +58,6 @@ def EditMessageSignal(sender, **kwargs):
}

try:
print("\n")
print(payload)
print("\n")

CLIENT.publish(room_name, payload)
except CentException:
pass
Expand All @@ -87,11 +80,7 @@ def DeleteMessageSignal(sender, **kwargs):
"action": "delete:message"
}

try:
print("\n")
print(payload)
print("\n")

try:
CLIENT.publish(room_name, payload)
except CentException:
pass
181 changes: 181 additions & 0 deletions backend/channel_plugin/apps/centri/signals/signals.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
# from django.core.signals import request_finished
# from django.dispatch import receiver
# from django.utils import timezone
# from django.conf import settings

# from cent import CentException

# from .centwrapper import CentClient
# from apps.channels.views import ChannelMemberViewset
# from apps.channelmessages.views import ChannelMessageViewset
# from apps.channelmessages.serializers import ChannelMessageSerializer
# from .helperfuncs import build_room_name



# CLIENT = CentClient(
# address = settings.CENTRIFUGO_URL,
# api_key = settings.CENTRIFUGO_API_KEY,
# timeout = 3,
# verify = True
# )


# # >>>>>>>>>>> channel member signals <<<<<<<<<<<<<<<<<<
# @receiver(request_finished, sender=ChannelMemberViewset)
# def JoinedChannelSignal(sender, **kwargs):

# uid = kwargs.get("dispatch_uid")

# if uid == "JoinedChannelSignal":
# org_id = kwargs.get("org_id")
# channel_id = kwargs.get("channel_id")
# user = kwargs.get("user")

# room_name = build_room_name(org_id, channel_id)

# data = {
# "user_id": user.get("_id"),
# "content": "event",
# "files": []
# }

# event = {
# "action": "join:channel",
# "recipients": kwargs.get("added", [user])
# }

# serializer = ChannelMessageSerializer(
# data=data,
# context={"channel_id": channel_id, "org_id": org_id}
# )

# serializer.is_valid(raise_exception=True)
# channelmessage = serializer.data.get("channelmessage")

# # required
# channelmessage.type = "event"
# channelmessage.event = event
# channelmessage.can_reply = False

# try:
# result = channelmessage.create(org_id)
# CLIENT.publish(room_name, result)
# except:
# pass

# @receiver(request_finished, sender=ChannelMemberViewset)
# def LeftChannelSignal(sender, **kwargs):
# uid = kwargs.get("dispatch_uid")

# if uid == "LeftChannelSignal":


# org_id = kwargs.get("org_id")
# channel_id = kwargs.get("channel_id")
# user = kwargs.get("user")

# room_name = build_room_name(org_id, channel_id)

# try:
# CLIENT.unsubscribe(user.get("_id"), room_name)
# except CentException:
# print("client removal failed because channel is not active")

# data = {
# "user_id": user.get("_id"),
# "content": "event",
# "files": []
# }

# event = {
# "action": "leave:channel",
# "recipients": kwargs.get("removed", [user])
# }

# serializer = ChannelMessageSerializer(
# data=data,
# context={"channel_id": channel_id, "org_id": org_id}
# )

# serializer.is_valid(raise_exception=True)
# channelmessage = serializer.data.get("channelmessage")

# # required
# channelmessage.type = "event"
# channelmessage.event = event
# channelmessage.can_reply = False

# try:
# result = channelmessage.create(org_id)
# CLIENT.publish(room_name, result)
# except:
# pass

# # >>>>>>>>>>> channelmessages signals <<<<<<<<<<<<<<<<<<
# @receiver(request_finished, sender=ChannelMessageViewset)
# def CreateMessageSignal(sender, **kwargs):
# uid = kwargs.get("dispatch_uid")

# if uid == "CreateMessageSignal":
# org_id = kwargs.get("org_id")
# channel_id = kwargs.get("channel_id")

# room_name = build_room_name(org_id, channel_id)

# # send notification to channel that has created a new message
# payload = kwargs.get("data", {})

# payload["event"] = {
# "action": "create:message"
# }

# try:
# CLIENT.publish(room_name, payload)
# except CentException:
# pass

# @receiver(request_finished, sender=ChannelMessageViewset)
# def EditMessageSignal(sender, **kwargs):
# uid = kwargs.get("dispatch_uid")

# if uid == "EditMessageSignal":
# org_id = kwargs.get("org_id")
# channel_id = kwargs.get("channel_id")

# room_name = build_room_name(org_id, channel_id)

# # send message to channel that user has edited a message
# payload = kwargs.get("data", {})

# payload["event"] = {
# "action": "update:message"
# }

# try:
# CLIENT.publish(room_name, payload)
# except CentException:
# pass

# @receiver(request_finished, sender=ChannelMessageViewset)
# def DeleteMessageSignal(sender, **kwargs):
# uid = kwargs.get("dispatch_uid")

# if uid == "DeleteMessageSignal":
# org_id = kwargs.get("org_id")
# channel_id = kwargs.get("channel_id")

# room_name = build_room_name(org_id, channel_id)

# # send notification to channel that user has joined
# payload = kwargs.get("data", {})
# payload["can_reply"] = False

# payload["event"] = {
# "action": "delete:message"
# }

# try:
# CLIENT.publish(room_name, payload)
# except CentException:
# pass
Loading