<feed xmlns='http://www.w3.org/2005/Atom'>
<title>stock/edit_component.php, branch master</title>
<subtitle>Bitweaver stock package repository
</subtitle>
<id>https://git.rdm1.uk/stock/.git/atom?h=master</id>
<link rel='self' href='https://git.rdm1.uk/stock/.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/stock/.git/'/>
<updated>2026-06-11T09:42:10Z</updated>
<entry>
<title>stock: merge stgrp xrefs into kitlocker group at data level; revert stgrp template tag; drop sgGroup stash from component templates</title>
<updated>2026-06-11T09:42:10Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-11T09:42:10Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/stock/.git/commit/?id=51195f3ae4cbc9ce3ae6f6054e75a72fdf0a5e32'/>
<id>urn:sha1:51195f3ae4cbc9ce3ae6f6054e75a72fdf0a5e32</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>stock: kitlocker tab visibility; view icon cleanup</title>
<updated>2026-06-09T16:52:28Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-09T16:52:28Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/stock/.git/commit/?id=cc23974a923e8b98ada7127fd2f09f75d97da01e'/>
<id>urn:sha1:cc23974a923e8b98ada7127fd2f09f75d97da01e</id>
<content type='text'>
- edit/view_component: hide kitlocker and stgrp xref tabs for
  non-kitlocker components (no KLID value); tabs appear at end when shown
- view_component: floaticon moved inside header; protector services removed
- view_component: edit/delete icons; remove redundant services_inc includes
- view_movement: floaticon moved inside header div
- assembly_icons_inc: remove stale Add Component link (edit BOM tab handles it)

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Refactor xref display to LibertyXrefGroup path throughout</title>
<updated>2026-06-06T09:15:47Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-06T09:15:47Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/stock/.git/commit/?id=b2ae92f41dc18de0a212e579ee4b1e3362e5a4a6'/>
<id>urn:sha1:b2ae92f41dc18de0a212e579ee4b1e3362e5a4a6</id>
<content type='text'>
- StockBase/StockAssembly/StockMovement: add loadXrefInfo() overrides
  to enrich supplier group with contact titles and BOM group with
  component titles, descriptions and pack sizes
- display_stock_assembly_inc, view/edit_component, view/edit_assembly,
  view_movement: replace getXrefGroupList() with loadXrefInfo() +
  assign gXrefInfo; edit pages pass allow_edit=true
- All view/edit templates: switch {section} over stockXxx_types arrays
  to {foreach $gXrefInfo-&gt;mGroups as $xrefGroup} object path
- BOM and supplier group templates rewritten: $xrefGroup object,
  column widths, class="table", conditional colspan
- All BOM/supplier item templates: $gContent-&gt;mInfo.$source[xref].x
  -&gt; $xrefInfo.x; $source ne 'history' -&gt; $isHistory
- Dead code removed: list_xref_stock.tpl, view_xref_pck_item.tpl

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>stock: add BOM component add page with autocomplete</title>
<updated>2026-06-03T16:04:44Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-03T16:04:44Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/stock/.git/commit/?id=687fe972b2bc693e15491aadb5a7c74e0f20ef85'/>
<id>urn:sha1:687fe972b2bc693e15491aadb5a7c74e0f20ef85</id>
<content type='text'>
- add_component.php: find component by title and store BOM xref; redirect
  to component_order.php on success, or edit_component.php (title pre-filled)
  if component not found
- add_component.tpl: form with datalist autocomplete via lookup_component.php
- includes/lookup_component.php: JSON endpoint for component title search
- edit_component.php: pre-fill title from request for new components
- view_xref_bom_group.tpl: add button now goes to add_component.php

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Remove stock_component table — use liberty_content directly</title>
<updated>2026-05-31T09:06:48Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-05-31T09:06:48Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/stock/.git/commit/?id=cef2bbde0cbaa042a545f432865de11e0bc51d03'/>
<id>urn:sha1:cef2bbde0cbaa042a545f432865de11e0bc51d03</id>
<content type='text'>
stock_component was a pure alias (component_id ↔ content_id with no
other data). All queries now target liberty_content WHERE
content_type_guid = STOCKCOMPONENT_CONTENT_TYPE_GUID directly.

- StockComponent: drop mComponentId, constructor takes content_id only
- All component_id URL params changed to content_id
- Import files, edit_movement, sitemap updated to match
- BOM xref templates updated (xref column migrated from component_id
  to content_id in live DB — 130 rows)
- StockAssembly loadXrefList/enrichXrefDisplay join liberty_content
  directly; loadComponents drops stock_component LEFT JOIN
- StockBase: previous/next keys renamed to _content_id

stock_component table left in schema_inc.php pending DB reset.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>BOM parts list upload and display via liberty_xref</title>
<updated>2026-05-29T12:57:43Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-05-29T12:57:43Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/stock/.git/commit/?id=e5f051c2b27424acd773a51d45fd775fbf4c0547'/>
<id>urn:sha1:e5f051c2b27424acd773a51d45fd775fbf4c0547</id>
<content type='text'>
- StockAssembly: loadXrefList() override sorts quantity rows by xorder and
  batch-fetches component title, description and pack size in one JOIN query
- StockComponent: getEditUrl() returns edit_component.php; new components
  redirect to edit after save so xrefs can be added immediately
- edit.php: BOM CSV upload handler (ITEM/XORDER/XREF/XKEY/XKEY_EXT format)
  writing to liberty_xref via LibertyXref::store(); removed old component
  upload and single-add handlers
- edit_component.php: removed spurious assembly/component guard on save
- schema_inc.php: quantity group template='bom' for stockassembly; KLSGL
  kitlocker stock item; bom template on stockassembly quantity xref items
- Templates: edit_assembly.tpl and view_assembly.tpl use getXrefListTemplate();
  new list_xref_bom.tpl, list_xref_bompck.tpl, view_xref_bom_record.tpl,
  edit_xref_bom.tpl for BOM display and editing

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add xref support, assembly/component views, and import tooling</title>
<updated>2026-05-26T13:55:36Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-05-26T13:55:36Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/stock/.git/commit/?id=70c559432ece25dd3def8c64ddb7c1908b4d49e0'/>
<id>urn:sha1:70c559432ece25dd3def8c64ddb7c1908b4d49e0</id>
<content type='text'>
- add_xref.php, edit_xref.php: xref record add/edit for stock content types
- admin xref group/source pages for stock_assembly and stock_component
- assembly_views/: auto_flow, fixed_grid, position_number, simple_list layouts
- Full assembly and component listing, tree, ordering, and detail pages
- Import tooling (ImportAssembly, ImportComponent, load scripts)
- liberty_plugins for assembly and component data types
- schema_inc.php updated; StockAssembly, StockBase, StockComponent,
  StockMovement classes updated with xref group/item/multiple renames
- Templates updated throughout for xref rename (source→item, group→x_group)

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
