Bulk-moving items between boxes
When you're reorganising — repacking for a move, sorting after a move, splitting one big box into two smaller ones — you often want to move many items at once. The items list has a built-in bulk action for exactly this.
How
- Go to Inventory → Items (
/items/). - On any item card, tap the small circle in the top-left corner. It fills with primary color.
- Tick as many as you need. As soon as one is ticked, a sticky action bar slides in at the top of the page: N selected · Move to: [box select] · Apply · Clear.
- Pick a box from the Move to dropdown. The list contains all your boxes, plus a — No box — option if you want to remove the items from any box (set
box_idto NULL). - Hit Apply. The page reloads with a success message: Moved 12 items to box "Garage 3."
Important: this is destructive
Unlike the box-side picker (which only removes items if you untick previously-checked ones), bulk-move always moves the items to the target box. If an item was in a different box, it leaves that box and joins the new one.
If you bulk-move with target — No box —, all selected items lose their box association.
Filtering before selecting
Use the search box at the top of the items list to narrow down before ticking. "Move all items containing 'cable' to the Cables box" — type "cable", select all visible cards, pick the Cables box, Apply.
Mobile usage
The checkbox circles are touch-friendly (30×30px tap target with event.stopPropagation() so tapping the circle doesn't navigate to the item). The action bar at the top is sticky and auto-hides when nothing is selected.
Limit per request
There's no hard limit on the number of items you can bulk-move in one go, but if you're moving more than ~200 items at a time the page may take a second or two to respond. The DB update is a single SQL statement — no per-item overhead.
Audit trail
Every bulk-move writes one row to the audit log with the action items.bulk_move and the count of items affected. If something goes wrong you can look back to see what happened.