mirror of
https://github.com/getnamingo/registry.git
synced 2025-07-24 19:38:26 +02:00
116 lines
No EOL
5.9 KiB
Twig
116 lines
No EOL
5.9 KiB
Twig
{% extends "layouts/app.twig" %}
|
|
|
|
{% block title %}{{ __('New Support Ticket') }}{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="page-wrapper">
|
|
<!-- Page header -->
|
|
<div class="page-header d-print-none">
|
|
<div class="container-xl">
|
|
<div class="row g-2 align-items-center">
|
|
<div class="col">
|
|
<div class="mb-1">
|
|
<ol class="breadcrumb">
|
|
<li class="breadcrumb-item">
|
|
<a href="{{route('home')}}"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none" /><polyline points="5 12 3 12 12 3 21 12 19 12" /><path d="M5 12v8a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-8" /><rect x="10" y="12" width="4" height="4" /></svg></a>
|
|
</li>
|
|
<li class="breadcrumb-item">
|
|
<a href="{{route('ticketview')}}">{{ __('Support Tickets') }}</a>
|
|
</li>
|
|
<li class="breadcrumb-item active">
|
|
{{ __('New Support Ticket') }}
|
|
</li>
|
|
</ol>
|
|
</div>
|
|
<h2 class="page-title">
|
|
{{ __('New Support Ticket') }}
|
|
</h2>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Page body -->
|
|
<div class="page-body">
|
|
<div class="container-xl">
|
|
<div class="col-12">
|
|
{% include 'partials/flash.twig' %}
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<form action="/support/new" method="post">
|
|
{{ csrf.field | raw }}
|
|
<div class="mb-3">
|
|
<label for="category" class="form-label required">{{ __('Category') }}</label>
|
|
<select class="form-select" name="category" id="category" required>
|
|
<option selected disabled value="">{{ __('Select a category') }}...</option>
|
|
{% for category in categories %}
|
|
<option value="{{ category.id }}">{{ category.name }}</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="subject" class="form-label required">{{ __('Subject') }}</label>
|
|
<input type="text" class="form-control" id="subject" name="subject" required>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="message" class="form-label required">{{ __('Message') }}</label>
|
|
<textarea class="form-control" id="message" name="message" rows="5" required></textarea>
|
|
</div>
|
|
<div id="abuse-fields" style="display: none;">
|
|
<div class="mb-3">
|
|
<label for="reported_domain" class="form-label">Reported Domain</label>
|
|
<input type="text" class="form-control" id="reported_domain" name="reported_domain">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="nature_of_abuse" class="form-label">Nature of Abuse</label>
|
|
<textarea class="form-control" id="nature_of_abuse" name="nature_of_abuse" rows="2"></textarea>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="evidence" class="form-label">Evidence</label>
|
|
<textarea class="form-control" id="evidence" name="evidence" rows="2"></textarea>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="relevant_urls" class="form-label">Relevant URLs</label>
|
|
<textarea class="form-control" id="relevant_urls" name="relevant_urls" rows="2"></textarea>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="date_of_incident" class="form-label">Date of Incident</label>
|
|
<input type="date" class="form-control" id="date_of_incident" name="date_of_incident">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-footer text-end">
|
|
<div class="d-flex">
|
|
<button type="submit" class="btn btn-primary">{{ __('Create Ticket') }}</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% include 'partials/footer.twig' %}
|
|
</div>
|
|
<script>
|
|
document.addEventListener('DOMContentLoaded', function () {
|
|
const categorySelect = document.getElementById('category');
|
|
const abuseFields = document.getElementById('abuse-fields');
|
|
const requiredInputs = abuseFields.querySelectorAll('input, textarea');
|
|
const requiredLabels = abuseFields.querySelectorAll('label');
|
|
|
|
categorySelect.addEventListener('change', function () {
|
|
if (this.value === '8') {
|
|
abuseFields.style.display = 'block';
|
|
requiredInputs.forEach(el => el.setAttribute('required', 'required'));
|
|
requiredLabels.forEach(label => label.classList.add('required'));
|
|
} else {
|
|
abuseFields.style.display = 'none';
|
|
requiredInputs.forEach(el => {
|
|
el.removeAttribute('required');
|
|
el.value = '';
|
|
});
|
|
requiredLabels.forEach(label => label.classList.remove('required'));
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
{% endblock %} |