updated get top risks prompt
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
from django import forms
|
||||
from .models import Organization
|
||||
import json
|
||||
from django.utils.safestring import mark_safe
|
||||
|
||||
|
||||
class OrganizationForm(forms.ModelForm):
|
||||
class Meta:
|
||||
@@ -66,3 +69,36 @@ class ContactForm(forms.Form):
|
||||
name = forms.CharField(label="Name", max_length=100)
|
||||
email = forms.EmailField(label="Email")
|
||||
message = forms.CharField(label="Message", widget=forms.Textarea(attrs={"rows": 6}), max_length=5000)
|
||||
|
||||
|
||||
class RiskExplanationWidget(forms.Widget):
|
||||
def render(self, name, value, attrs=None, renderer=None):
|
||||
if isinstance(value, str):
|
||||
try:
|
||||
value = json.loads(value)
|
||||
except Exception:
|
||||
value = {}
|
||||
value = value or {}
|
||||
html = (
|
||||
'<table style="width:100%; margin:0; padding:0; border-collapse:collapse;">'
|
||||
'<tr>'
|
||||
'<th style="width:5%;">Risk ID</th>'
|
||||
'<th style="width:80%;">Explanation</th>'
|
||||
'</tr>'
|
||||
)
|
||||
for risk_id, explanation in value.items():
|
||||
html += (
|
||||
f'<tr>'
|
||||
f'<td style="width:5%;"><input type="number" name="{name}_risk_{risk_id}" value="{risk_id}" readonly style="width:100%;"></td>'
|
||||
f'<td style="width:80%;"><input type="text" name="{name}_explanation_{risk_id}" value="{explanation}" style="width:99%;"></td>'
|
||||
f'</tr>'
|
||||
)
|
||||
for i in range(10 - len(value)):
|
||||
html += (
|
||||
f'<tr>'
|
||||
f'<td style="width:5%;"><input type="number" name="{name}_risk_new_{i}" value="" style="width:100%;"></td>'
|
||||
f'<td style="width:80%;"><input type="text" name="{name}_explanation_new_{i}" value="" style="width:99%;"></td>'
|
||||
f'</tr>'
|
||||
)
|
||||
html += '</table>'
|
||||
return mark_safe(html)
|
||||
Reference in New Issue
Block a user