HH/templates/px_sources/source_user_form.html
2026-01-15 14:31:58 +03:00

145 lines
7.4 KiB
HTML

{% extends "layouts/base.html" %}
{% load i18n %}
{% block title %}{% if source_user %}{% trans "Edit Source User" %}{% else %}{% trans "Create Source User" %}{% endif %} - {{ source.name_en }}{% endblock %}
{% block content %}
<div class="container-fluid">
<!-- Page Header -->
<div class="d-flex justify-content-between align-items-center mb-4">
<div>
<nav aria-label="breadcrumb">
<ol class="breadcrumb mb-2">
<li class="breadcrumb-item">
<a href="{% url 'px_sources:source_list' %}">{% trans "PX Sources" %}</a>
</li>
<li class="breadcrumb-item">
<a href="{% url 'px_sources:source_detail' source.pk %}">{{ source.name_en }}</a>
</li>
<li class="breadcrumb-item active" aria-current="page">
{% if source_user %}{% trans "Edit Source User" %}{% else %}{% trans "Create Source User" %}{% endif %}
</li>
</ol>
</nav>
<h2 class="mb-1">
{% if source_user %}
<i class="bi bi-person-gear me-2"></i>{% trans "Edit Source User" %}
{% else %}
<i class="bi bi-person-plus me-2"></i>{% trans "Create Source User" %}
{% endif %}
</h2>
<p class="text-muted mb-0">
{{ source.name_en }}
</p>
</div>
<div>
<a href="{% url 'px_sources:source_detail' source.pk %}" class="btn btn-outline-secondary">
<i class="bi bi-arrow-left me-1"></i> {% trans "Back to Source" %}
</a>
</div>
</div>
<!-- Form Card -->
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-header">
<h5 class="card-title mb-0">
<i class="bi bi-gear me-2"></i>{% trans "Source User Details" %}
</h5>
</div>
<div class="card-body">
<form method="POST" novalidate>
{% csrf_token %}
{% if not source_user %}
<!-- User Selection (only for new source users) -->
<div class="row mb-3">
<div class="col-md-6">
<label for="id_user" class="form-label">{% trans "User" %} <span class="text-danger">*</span></label>
<select name="user" id="id_user" class="form-select" required>
<option value="">{% trans "Select a user" %}</option>
{% for user in available_users %}
<option value="{{ user.id }}" {% if form.user.value == user.id %}selected{% endif %}>
{{ user.email }} {% if user.get_full_name %}({{ user.get_full_name }}){% endif %}
</option>
{% endfor %}
</select>
<div class="form-text">
{% trans "Select a user to assign as source user. A user can only manage one source." %}
</div>
</div>
</div>
{% else %}
<!-- User Display (for editing) -->
<div class="row mb-3">
<div class="col-md-6">
<label class="form-label">{% trans "User" %}</label>
<input type="text" class="form-control" value="{{ source_user.user.email }} {% if source_user.user.get_full_name %}({{ source_user.user.get_full_name }}){% endif %}" readonly>
</div>
</div>
{% endif %}
<!-- Status -->
<div class="row mb-3">
<div class="col-md-6">
<label class="form-label">{% trans "Status" %}</label>
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" name="is_active" id="id_is_active" {% if source_user.is_active|default:True %}checked{% endif %}>
<label class="form-check-label" for="id_is_active">
{% trans "Active" %}
</label>
</div>
<div class="form-text">
{% trans "Inactive users will not be able to access their dashboard." %}
</div>
</div>
</div>
<hr>
<!-- Permissions -->
<h5 class="mb-3">{% trans "Permissions" %}</h5>
<div class="row mb-3">
<div class="col-md-6">
<div class="form-check">
<input class="form-check-input" type="checkbox" name="can_create_complaints" id="id_can_create_complaints" {% if source_user.can_create_complaints|default:True %}checked{% endif %}>
<label class="form-check-label" for="id_can_create_complaints">
{% trans "Can create complaints" %}
</label>
</div>
</div>
<div class="col-md-6">
<div class="form-check">
<input class="form-check-input" type="checkbox" name="can_create_inquiries" id="id_can_create_inquiries" {% if source_user.can_create_inquiries|default:True %}checked{% endif %}>
<label class="form-check-label" for="id_can_create_inquiries">
{% trans "Can create inquiries" %}
</label>
</div>
</div>
</div>
<div class="alert alert-info">
<i class="bi bi-info-circle me-2"></i>
{% trans "Permissions control what the source user can do in their dashboard. Uncheck to restrict access." %}
</div>
<!-- Submit Buttons -->
<hr>
<div class="d-flex gap-2">
<button type="submit" class="btn btn-primary">
<i class="bi bi-check-lg me-1"></i> {% trans "Save" %}
</button>
<a href="{% url 'px_sources:source_detail' source.pk %}" class="btn btn-outline-secondary">
<i class="bi bi-x-lg me-1"></i> {% trans "Cancel" %}
</a>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
{% endblock %}