feat(non-loanable-devices): implement non-loanable device management

- Add non_loanable_devices table to database schema
- Add web interface routes: /non_loanable_devices, /add_non_loanable_device, /edit_non_loanable_device, /delete_non_loanable_device
- Add CLI menu options 8-10 for non-loanable device management
- Add templates for non-loanable device CRUD operations
- Update README.md with new feature documentation
- Update REQUIREMENTS.md marking non-loanable devices as implemented
- Add gestiontablets.sh script

Implements: #porDefinir Registrar nuevos dispositivos no prestables
This commit is contained in:
ijuanes 2026-06-09 23:54:38 +01:00
parent ac73e5dc93
commit d3d1fb1b32
10 changed files with 417 additions and 6 deletions

View file

@ -0,0 +1,63 @@
{% extends "base.html" %}
{% block content %}
<h2>Add Non-Loanable Device</h2>
<p>Add a device that will be tracked in inventory but cannot be loaned to users (e.g., projectors, monitors, etc.)</p>
<form method="POST" action="/add_non_loanable_device">
<div class="form-group">
<label for="device_type">Device Type:</label>
<select id="device_type" name="device_type" required>
<option value="">Select device type...</option>
<option value="projector">Projector</option>
<option value="monitor">Monitor</option>
<option value="laptop">Laptop (non-loanable)</option>
<option value="printer">Printer</option>
<option value="camera">Camera</option>
<option value="audio">Audio Equipment</option>
<option value="network">Network Equipment</option>
<option value="other">Other</option>
</select>
</div>
<div class="form-group">
<label for="brand">Brand:</label>
<input type="text" id="brand" name="brand" required>
</div>
<div class="form-group">
<label for="model">Model:</label>
<input type="text" id="model" name="model" required>
</div>
<div class="form-group">
<label for="serial_number">Serial Number:</label>
<input type="text" id="serial_number" name="serial_number" required>
</div>
<div class="form-group">
<label for="location">Location:</label>
<input type="text" id="location" name="location">
</div>
<div class="form-group">
<label for="purchase_date">Purchase Date:</label>
<input type="date" id="purchase_date" name="purchase_date">
</div>
<div class="form-group">
<label for="purchase_cost">Purchase Cost:</label>
<input type="number" id="purchase_cost" name="purchase_cost" step="0.01">
</div>
<div class="form-group">
<label for="notes">Notes:</label>
<textarea id="notes" name="notes"></textarea>
</div>
<div class="form-group">
<button type="submit" class="btn">Add Device</button>
<a href="/non_loanable_devices" class="btn">Cancel</a>
</div>
</form>
{% endblock %}