HH/SIMPLE_ACKNOWLEDGEMENT_SYSTEM.md
2026-03-09 16:10:24 +03:00

93 lines
3.3 KiB
Markdown

# Simple Acknowledgement System - Implementation Summary
## Overview
A simplified acknowledgement system for employees to sign required documents.
## Features
1. **Checklist of Acknowledgements** - Employees see a checklist of all acknowledgements they must sign
2. **Add Future Acknowledgements** - Admins can add new acknowledgements anytime
3. **Employee & Employee ID** - Employees sign with their name and employee ID
4. **Checkmark & PDF** - Signed acknowledgements show checkmarks and have attached PDFs
## Models
### SimpleAcknowledgement
- `title` - Acknowledgement title
- `description` - Detailed description
- `pdf_document` - PDF document for employees to review
- `is_active` - Show in employee checklist
- `is_required` - Must be signed by all employees
- `order` - Display order
### EmployeeAcknowledgement
- `employee` - ForeignKey to User
- `acknowledgement` - ForeignKey to SimpleAcknowledgement
- `is_signed` - Boolean flag
- `signed_at` - Timestamp
- `signature_name` - Name used when signing
- `signature_employee_id` - Employee ID when signing
- `signed_pdf` - Generated PDF with signature
- `ip_address` - For audit trail
- `user_agent` - For audit trail
## URLs
### Employee URLs
- `/accounts/simple-acknowledgements/my-acknowledgements/` - Employee checklist
- `/accounts/simple-acknowledgements/my-acknowledgements/sign/<uuid>/` - Sign acknowledgement
- `/accounts/simple-acknowledgements/my-acknowledgements/download/<uuid>/` - Download signed PDF
### Admin URLs
- `/accounts/simple-acknowledgements/admin/acknowledgements/` - List all acknowledgements
- `/accounts/simple-acknowledgements/admin/acknowledgements/new/` - Create new acknowledgement
- `/accounts/simple-acknowledgements/admin/acknowledgements/<uuid>/edit/` - Edit acknowledgement
- `/accounts/simple-acknowledgements/admin/acknowledgements/<uuid>/delete/` - Delete acknowledgement
- `/accounts/simple-acknowledgements/admin/acknowledgements/<uuid>/toggle/` - Toggle active status
- `/accounts/simple-acknowledgements/admin/signatures/` - View all signatures
- `/accounts/simple-acknowledgements/admin/signatures/employee/<uuid>/` - View employee's signatures
## Templates
All templates are in `templates/accounts/simple_acknowledgements/`:
- `employee_list.html` - Employee checklist view
- `sign.html` - Sign acknowledgement form
- `admin_list.html` - Admin list view
- `admin_form.html` - Admin create/edit form
- `admin_signatures.html` - Admin signatures view
## Migration
Run the migration to create the new tables:
```bash
python manage.py migrate accounts
```
## Usage
### For Employees
1. Navigate to `/accounts/simple-acknowledgements/my-acknowledgements/`
2. See list of pending and completed acknowledgements
3. Click "Sign Now" to sign a pending acknowledgement
4. Enter name and employee ID, then submit
5. Download signed PDF if needed
### For Admins
1. Navigate to `/accounts/simple-acknowledgements/admin/acknowledgements/`
2. Click "New Acknowledgement" to create
3. Fill in title, description, and optionally upload a PDF
4. Set as active/required as needed
5. View signatures in the admin signatures page
## Navigation Link (Optional)
Add to your navigation menu:
```html
<a href="{% url 'accounts:simple_acknowledgements:employee_list' %}">
My Acknowledgements
</a>
```
For PX Admins:
```html
<a href="{% url 'accounts:simple_acknowledgements:admin_list' %}">
Manage Acknowledgements
</a>
```