fix: welcome slack message enabled

This commit is contained in:
sriram veeraghanta
2024-02-28 17:06:46 +05:30
parent d50a80e193
commit a18f82202b
2 changed files with 35 additions and 1 deletions

View File

@@ -26,6 +26,7 @@ from plane.db.models import (
IssueProperty,
UserNotificationPreference,
)
from plane.bgtasks.user_welcome_task import send_welcome_slack
@@ -61,6 +62,15 @@ def service_importer(service, importer_id):
batch_size=100,
)
_ = [
send_welcome_slack.delay(
str(user.id),
True,
f"{user.email} was imported to Plane from {service}",
)
for user in new_users
]
workspace_users = User.objects.filter(
email__in=[
user.get("email").strip().lower()

View File

@@ -18,6 +18,11 @@ from django.db.models.signals import post_save
from django.dispatch import receiver
from django.conf import settings
# Third party imports
from sentry_sdk import capture_exception
from slack_sdk import WebClient
from slack_sdk.errors import SlackApiError
def get_default_onboarding():
return {
@@ -141,7 +146,6 @@ class User(AbstractBaseUser, PermissionsMixin):
super(User, self).save(*args, **kwargs)
@receiver(post_save, sender=User)
def create_user_notification(sender, instance, created, **kwargs):
# create preferences
@@ -157,3 +161,23 @@ def create_user_notification(sender, instance, created, **kwargs):
mention=False,
issue_completed=False,
)
@receiver(post_save, sender=User)
def send_welcome_slack(sender, instance, created, **kwargs):
try:
if created and not instance.is_bot:
# Send message on slack as well
if settings.SLACK_BOT_TOKEN:
client = WebClient(token=settings.SLACK_BOT_TOKEN)
try:
_ = client.chat_postMessage(
channel="#trackers",
text=f"New user {instance.email} has signed up and begun the onboarding journey.",
)
except SlackApiError as e:
print(f"Got an error: {e.response['error']}")
return
except Exception as e:
capture_exception(e)
return