def notify_task_application_response_slack(instance, admin=True):
instance = clean_instance(instance, Application)
application_url = '%s/work/%s/applications/' % (TUNGA_URL, instance.task_id)
task_url = '%s/work/%s/' % (TUNGA_URL, instance.task.id)
slack_msg = "Task Application {} | <{}|View on Tunga>".format(
instance.status == STATUS_ACCEPTED and 'accepted' or 'rejected',
task_url
)
attachments = [
{
slack_utils.KEY_TITLE: instance.task.summary,
slack_utils.KEY_TITLE_LINK: application_url,
slack_utils.KEY_TEXT: '%s%s%s%s\n\n<%s|View on Tunga>' %
(truncatewords(convert_to_text(instance.pitch), 100),
instance.hours_needed and '\n*Workload:* {} hrs'.format(instance.hours_needed) or '',
instance.deliver_at and '\n*Delivery Date:* {}'.format(
instance.deliver_at.strftime("%d %b, %Y")
) or '',
instance.remarks and '\n*Remarks:* {}'.format(
truncatewords(convert_to_text(instance.remarks), 100)
) or '',
application_url),
slack_utils.KEY_MRKDWN_IN: [slack_utils.KEY_TEXT],
slack_utils.KEY_COLOR: SLACK_ATTACHMENT_COLOR_TUNGA
}
]
if admin:
slack_utils.send_incoming_webhook(
SLACK_STAFF_INCOMING_WEBHOOK,
{
slack_utils.KEY_TEXT: slack_msg,
slack_utils.KEY_ATTACHMENTS: attachments,
slack_utils.KEY_CHANNEL: SLACK_STAFF_LEADS_CHANNEL
}
)
else:
slack_utils.send_integration_message(instance.task, message=slack_msg, attachments=attachments)
评论列表
文章目录