- Add birth_date, created_at/updated_at to Employee; remove username field - Introduce EmployeeAction for tracking HR events and is_actually_active/status properties - Create BotSubscriber model (OneToOne relation) for TG/WA binding - Implement Aiogram-based Telegram bot: • request contact to bind by phone or @username • department selection keyboard from DEPARTMENTS dict • async ORM via sync_to_async, custom filters for bound & active employees - Update profile view & template: • show “Bind Telegram/WhatsApp” button only when not already bound • preview avatar on upload - Remove registration tokens in favor of contact-based auth - Clean up templates, forms and add avatar validation mixin
31 lines
1.0 KiB
HTML
31 lines
1.0 KiB
HTML
{% extends 'base.html' %}
|
||
{% load static %}
|
||
|
||
{% block title %}Сброс пароля{% endblock %}
|
||
|
||
{% block content %}
|
||
<div class="row justify-content-center">
|
||
<div class="col-lg-6">
|
||
<div class="card shadow">
|
||
<div class="card-header bg-primary text-white">
|
||
<h3 class="mb-0">Сброс пароля</h3>
|
||
</div>
|
||
<div class="card-body">
|
||
<form method="post">
|
||
{% csrf_token %}
|
||
<div class="mb-3">
|
||
<div class="form-floating">
|
||
{{ form.email }}
|
||
<label for="{{ form.email.id_for_label }}">Email</label>
|
||
</div>
|
||
</div>
|
||
<button type="submit" class="btn btn-primary btn-lg w-100">
|
||
<i class="bi bi-envelope-arrow-up me-2"></i>Отправить инструкции
|
||
</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{% endblock %}
|