diff --git a/RIGS/migrations/0050_event_forum_url.py b/RIGS/migrations/0050_event_forum_url.py
new file mode 100644
index 00000000..8bff3822
--- /dev/null
+++ b/RIGS/migrations/0050_event_forum_url.py
@@ -0,0 +1,18 @@
+# Generated by Django 3.2.18 on 2023-06-26 17:46
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('RIGS', '0049_auto_20230529_1123'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='event',
+ name='forum_url',
+ field=models.URLField(blank=True, null=True),
+ ),
+ ]
diff --git a/RIGS/models.py b/RIGS/models.py
index ea18e95e..7e24898c 100644
--- a/RIGS/models.py
+++ b/RIGS/models.py
@@ -357,6 +357,8 @@ class Event(models.Model, RevisionMixin):
auth_request_at = models.DateTimeField(null=True, blank=True)
auth_request_to = models.EmailField(blank=True, default='')
+ forum_url = models.URLField(null=True, blank=True)
+
@property
def display_id(self):
if self.pk:
diff --git a/RIGS/templates/partials/event_details.html b/RIGS/templates/partials/event_details.html
index 1b5a4e7d..be8bd064 100644
--- a/RIGS/templates/partials/event_details.html
+++ b/RIGS/templates/partials/event_details.html
@@ -77,6 +77,15 @@
PO
{{ object.purchase_order }}
{% endif %}
+
+ Forum Thread
+ {% if event.forum_thread %}
+ {{event.forum_thread}}
+ {% else %}
+ Create Forum Thread
+ {% endif %}
diff --git a/RIGS/urls.py b/RIGS/urls.py
index 9a5a1f7c..8c2140db 100644
--- a/RIGS/urls.py
+++ b/RIGS/urls.py
@@ -110,6 +110,8 @@ urlpatterns = [
path('event//checkin/add/', login_required(views.EventCheckInOverride.as_view()),
name='event_checkin_override'),
+ path('event//thread/', permission_required_with_403('RIGS.change_event')(views.CreateForumThread.as_view()), name='event_thread'),
+
# Finance
path('invoice/', permission_required_with_403('RIGS.view_invoice')(views.InvoiceIndex.as_view()),
name='invoice_list'),
diff --git a/RIGS/views/rigboard.py b/RIGS/views/rigboard.py
index d60f0c2b..22494961 100644
--- a/RIGS/views/rigboard.py
+++ b/RIGS/views/rigboard.py
@@ -3,6 +3,7 @@ import datetime
import re
import premailer
import simplejson
+import urllib
from django.conf import settings
from django.contrib import messages
@@ -377,3 +378,20 @@ class EventAuthoriseRequestEmailPreview(generic.DetailView):
context['to_name'] = self.request.GET.get('to_name', None)
context['target'] = 'event_authorise_form_preview'
return context
+
+
+class CreateForumThread(generic.base.RedirectView):
+ permanent = False
+
+ def get_redirect_url(self, *args, **kwargs):
+ event = get_object_or_404(models.Event, pk=kwargs['pk'])
+
+ if event.forum_url:
+ return event.forum_url
+
+ params = {
+ 'title': str(event),
+ 'body': 'https://rigs.nottinghamtec.co.uk/event/{}'.format(event.pk),
+ 'category': 'rig-info'
+ }
+ return 'https://forum.nottinghamtec.co.uk/new-topic' + "?" + urllib.parse.urlencode(params)