| Age | Commit message (Expand) | Author | Files | Lines |
| 2026-06-08 | stock: requisition system, movement BOM editor, autocomplete dropdowns | Lester Caine | 20 | -154/+848 |
| 2026-06-08 | edit_assembly: remove dead components section, tidy upload layout | Lester Caine | 1 | -37/+2 |
| 2026-06-07 | Fix xorder lost on xref edit; widen component_order Order column | Lester Caine | 5 | -2/+6 |
| 2026-06-07 | Stock package: assembly/component model, package-level xref, imports, print BOM | Lester Caine | 18 | -106/+458 |
| 2026-06-06 | stock: docblock tidy across all four class files | Lester Caine | 4 | -53/+355 |
| 2026-06-06 | import: save uploaded CSVs to storage/stock/ for audit trail | Lester Caine | 2 | -1/+6 |
| 2026-06-06 | import: cull legacy importers; move data to storage/stock/ | Lester Caine | 11 | -687/+7 |
| 2026-06-06 | import_results.tpl: show updated record count | Lester Caine | 1 | -0/+3 |
| 2026-06-06 | xref: complete migration from loadXrefList to loadXrefInfo | Lester Caine | 8 | -97/+16 |
| 2026-06-06 | xref group templates: remove fixed column widths | Lester Caine | 3 | -12/+12 |
| 2026-06-06 | edit_movement: switch xref tabs to LibertyXrefGroup path | Lester Caine | 2 | -15/+12 |
| 2026-06-06 | Refactor xref display to LibertyXrefGroup path throughout | Lester Caine | 23 | -233/+217 |
| 2026-06-05 | Add p_stock_expunge permission; gate movement delete button | Lester Caine | 2 | -5/+6 |
| 2026-06-05 | Rationalise stock permissions | Lester Caine | 1 | -6/+4 |
| 2026-06-05 | Add create/edit icons to list pages; use p_stock_update for edit gates | Lester Caine | 3 | -2/+14 |
| 2026-06-05 | Replace list_movements buttons with icons | Lester Caine | 1 | -3/+2 |
| 2026-06-05 | Update stock menu icons — placeholder set pending custom icons | Lester Caine | 1 | -8/+8 |
| 2026-06-05 | Switch icons: document-properties → edit, text-x-generic → view-list-text | Lester Caine | 16 | -23/+23 |
| 2026-06-05 | Switch delete icon from edit-delete to user-trash (dustbin) | Lester Caine | 10 | -10/+10 |
| 2026-06-04 | Convert {booticon} to {biticon} — freedesktop/tango icon names throughout | Lester Caine | 25 | -58/+58 |
| 2026-06-04 | stock: fix SCREF lookup to use xkey; remove duplicate datalist entries | Lester Caine | 1 | -1/+1 |
| 2026-06-03 | stock: movement contact linkage, note field, view/edit tidy | Lester Caine | 4 | -26/+178 |
| 2026-06-03 | stock: preserve movement type when CSV import updates reference xref | Lester Caine | 1 | -4/+6 |
| 2026-06-03 | stock: drop Ref column, sortable Ordered/Received, fix smartlink isort | Lester Caine | 2 | -7/+7 |
| 2026-06-03 | stock: fix markReceived, add ref_start_date to load(), tidy view_movement dates | Lester Caine | 2 | -3/+11 |
| 2026-06-03 | stock: CSV import order date → xref.start_date; add optional received date | Lester Caine | 1 | -5/+23 |
| 2026-06-03 | stock: add Ordered/Received sort and ref_start_date to list_movements | Lester Caine | 2 | -6/+16 |
| 2026-06-03 | stock: fix pagination on list_movements | Lester Caine | 2 | -1/+10 |
| 2026-06-03 | stock: fix KitlockerAssemblies import KLID matching | Lester Caine | 1 | -23/+53 |
| 2026-06-03 | stock: rework KitlockerAssemblies import for new CSV layout | Lester Caine | 1 | -48/+79 |
| 2026-06-03 | stock: redirect to view_movement after save/mark-received | Lester Caine | 1 | -2/+2 |
| 2026-06-03 | stock: add BOM component add page with autocomplete | Lester Caine | 5 | -1/+216 |
| 2026-06-03 | stock: fix blank icons on view_assembly — use colourstrap icons | Lester Caine | 1 | -2/+2 |
| 2026-06-03 | stock: fix xref group sort_order collision in schema_inc.php | Lester Caine | 1 | -13/+17 |
| 2026-06-03 | stock: override getEditUrl() on all concrete content classes | Lester Caine | 2 | -0/+14 |
| 2026-06-03 | stock: look up kitlocker parent by title, not hardcoded ID | Lester Caine | 1 | -10/+14 |
| 2026-06-02 | Component movement history: filter list_movements by component_content_id | Lester Caine | 4 | -3/+35 |
| 2026-06-02 | view_component: add Stock Levels tab showing movement totals per qty type | Lester Caine | 2 | -4/+53 |
| 2026-06-02 | list_stock: BOM view shows all components regardless of stock history | Lester Caine | 1 | -47/+67 |
| 2026-06-02 | Move CSV import into StockMovement::importCsv(); fix storeXref by-ref | Lester Caine | 2 | -92/+94 |
| 2026-06-02 | edit_movement: support CSV upload at create time | Lester Caine | 2 | -133/+115 |
| 2026-06-02 | Fix CONTENT_TYPE_GUID define placement — movement stays in StockMovement | Lester Caine | 2 | -1/+2 |
| 2026-06-02 | ImportSimpleComponent: replace constant with literal — autoload not trigger... | Lester Caine | 1 | -2/+2 |
| 2026-06-02 | Move all stock CONTENT_TYPE_GUID defines to StockBase | Lester Caine | 4 | -6/+3 |
| 2026-06-02 | edit_assembly: use StockComponent to define STOCKCOMPONENT_CONTENT_TYPE_GUID | Lester Caine | 1 | -0/+1 |
| 2026-06-02 | Untrack import/data CSV files; add .gitignore and .gitkeep | Lester Caine | 11 | -662/+2 |
| 2026-06-02 | Remove old fisheye-era files superseded by stock rewrite | Lester Caine | 75 | -4064/+0 |
| 2026-06-02 | Add requisition entry point — template and menu item | Lester Caine | 2 | -0/+54 |
| 2026-06-01 | Rename stock_assembly_component_map table to stock_assembly_map | Lester Caine | 7 | -46/+46 |
| 2026-06-01 | list_stock: BOM section headers, xorder sort, drop table-striped | Lester Caine | 2 | -6/+17 |