library: add Quick Add page (scan an ISBN, the book is added)
A small standard-library Python service next to Koha: - looks the code up via Z39.50 (yaz) then Open Library over HTTPS - checks Koha for an existing copy (ISBN-10/13 and UPC/EAN aware) - adds the record + an item with the next barcode via Koha's REST API - scanner-friendly UI: auto-focus, audible feedback, duplicate card with 'add another copy', manual entry when nothing is found, undo, and the barcode range to print labels for Also: enable RESTBasicAuth, map 024$a to the ean column, wire the service, port and credentials into compose/install.sh. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013wi3ZSot4XbUViwRFgLpRf
This commit is contained in:
@@ -68,6 +68,7 @@ show_status() {
|
||||
echo
|
||||
echo " Catalogue (public): http://$ip:$OPAC_PORT"
|
||||
echo " Staff interface: http://$ip:$STAFF_PORT"
|
||||
echo " Add books (scan): http://$ip:${QUICKADD_PORT:-8082} (same login)"
|
||||
echo " Staff login: $ADMIN_USER / $ADMIN_PASSWORD (also stored in $HERE/.env)"
|
||||
echo
|
||||
}
|
||||
@@ -98,6 +99,7 @@ LIBRARY_NAME="${LIBRARY_NAME:-My Library}"
|
||||
TZ=${TZ_NOW}
|
||||
OPAC_PORT=$(free_port "${OPAC_PORT:-8080}")
|
||||
STAFF_PORT=$(free_port "${STAFF_PORT:-8081}")
|
||||
QUICKADD_PORT=$(free_port "${QUICKADD_PORT:-8082}")
|
||||
ADMIN_USER=admin
|
||||
ADMIN_PASSWORD=$(rand 16)
|
||||
DB_ROOT_PASSWORD=$(rand 32)
|
||||
@@ -108,10 +110,15 @@ ENVEOF
|
||||
[ "$RUN_USER" = root ] || chown "$RUN_USER" .env
|
||||
else
|
||||
c_info "Re-using existing .env"
|
||||
# Settings added in later versions: append them to an older .env.
|
||||
if ! grep -q '^QUICKADD_PORT=' .env; then
|
||||
echo "QUICKADD_PORT=$(free_port 8082)" >> .env
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "${EXTRA_CA:-}" ]; then
|
||||
cp "$EXTRA_CA" koha/certs/extra-ca.crt
|
||||
cp "$EXTRA_CA" quickadd/certs/extra-ca.crt
|
||||
c_info "Trusting extra CA during the build: $EXTRA_CA"
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user