Simplify battery management: bulk add, device-level auto-install, mass operations
- Replace single-battery add form with bulk add (brand + count, auto-generated labels) - Add device-level install form: specify brand+qty pairs, system autoselects available batteries - Add bulk actions on dashboard: retire, delete, unassign, change brand (checkbox multi-select) - Keep per-battery assign route for special cases (e.g. known low-capacity battery) - Remove unique constraint on Battery.label (labels are now auto-generated) - Add *.snapshot to .gitignore for DB snapshot files - Rewrite tests: 35 passing (11 new tests for bulk-add, device-install, bulk-actions) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -31,7 +31,7 @@ class Battery(Base):
|
||||
__tablename__ = "battery"
|
||||
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
label = Column(String(50), nullable=False, unique=True)
|
||||
label = Column(String(50), nullable=False)
|
||||
brand = Column(String(100), nullable=False)
|
||||
status = Column(String(20), nullable=False, default="available")
|
||||
device_id = Column(Integer, ForeignKey("device.id", ondelete="SET NULL"), nullable=True)
|
||||
|
||||
Reference in New Issue
Block a user