<feed xmlns='http://www.w3.org/2005/Atom'>
<title>contact/add_person.php, branch master</title>
<subtitle>Bitweaver contact package repository
</subtitle>
<id>https://git.rdm1.uk/contact/.git/atom?h=master</id>
<link rel='self' href='https://git.rdm1.uk/contact/.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/contact/.git/'/>
<updated>2026-06-11T18:26:25Z</updated>
<entry>
<title>Introduce ContactPerson and ContactBusiness subclasses</title>
<updated>2026-06-11T18:26:25Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-11T18:26:25Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/contact/.git/commit/?id=64aae1e41d9288a6d9709781af29b06fe6adb5ca'/>
<id>urn:sha1:64aae1e41d9288a6d9709781af29b06fe6adb5ca</id>
<content type='text'>
Splits the Contact class into ContactPerson (content_type_guid='contactperson')
and ContactBusiness (content_type_guid='contactbusiness'), each using 'contact'
as the shared package-level xref schema. Replaces the $isPerson/$00 xref hack
with proper class identity via instanceof.

- ContactPerson.php, ContactBusiness.php: new subclasses
- Contact.php: loadXrefTypeList() reads type tags directly from liberty_xref;
  getAvailableTypeItems() for edit form (schema-driven with pre-upgrade fallback);
  getDisplayUrl() now points to display_contact.php
- Type item codes: P01/P02 (person), B01-B04 (business, B01=Service new)
- list_people.php, list_businesses.php: separate list pages per type
- list_contacts.php: combined display-layer merge of both types
- 5.0.3.php: upgrade script migrating existing data to new content types and codes
- Templates: isPerson flag from instanceof; horizontal type checkboxes; list.tpl
  accepts $listTitle; menu adds People/Businesses entries

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add add_person/add_business flows; tidy contact view/edit for type</title>
<updated>2026-05-31T18:45:29Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-05-31T18:45:29Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/contact/.git/commit/?id=a6d77d28625efe86fe16228cbfdce49d6a5bf6e2'/>
<id>urn:sha1:a6d77d28625efe86fe16228cbfdce49d6a5bf6e2</id>
<content type='text'>
- add_person.php + add_person.tpl: minimal form, auto-injects $00
- add_business.php + add_business.tpl: org name + $02+ type checkboxes
- menu_contact.tpl: replace generic edit link with Add Person / Add Business
- Contact.php: fix title overwrite (org no longer clobbers person name);
  fix null trim on organisation; fix $00 type xref stored correctly
- edit.php: isPerson flag; xref groups loaded; type list filtered $02+ for businesses
- edit.tpl: person/business field visibility; tabbed xref block at bottom of Details tab
- edit_type_header.tpl: value fixed to {$type.item}; $00/$01 filtered out
- display_contact.tpl: person/business field selection; note above addresses;
  no-addresses fallback removed; allow_edit=false on xref tabs
- display_type_header.tpl: heading Personal/Business Contact; $02+ types only
- contact_date_bar.tpl: remove Add crossref shortcut (now in edit tabs)
- view_xref_*_item.tpl: dates and edit actions gated on $xrefAllowEdit

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