#!/bin/sh
#
# Send invoices to the new members in the member register using
# sendregning.no

# This script is not yet well tested for error handling

set -e
set -x

#debug=-d

for arg in "$@" ; do 
    case "$arg" in
	test)
	    test=true
	    ;;
	yearly)
	    yearly=true
	    ;;
	nodisc)
	    nodisc="-F"
	    ;;
    esac
done

cd $(dirname $0)/../../styre-web/

git pull

# Sjekk konsistensen i fila.  Feil er fatale (set -e avbryter
# scriptet), mens advarsler kan ignoreres
$(dirname $0)/medlemsliste-check
$(dirname $0)/medlemsliste-check -w || true


if [ true = "$yearly" ] ; then
    # All members (yearly run)
    $(dirname $0)/medlemsliste-makeinvoices $nodisc > innmelding.xml
else
    $(dirname $0)/medlemsliste-makeinvoices -i $nodisc > innmelding.xml    # New members only
fi

# det følgende er satt tilbake til tilstanden før 2015-11-05 for Geekbay.  2022-05-04 jonp
TMPF=$(mktemp)                                      # virker ikke lenger på nerdhaven 2015-11-05 jonp
# TMPF=$(mktemp /tmp/medlemsliste-sendinvoices.XXXXXX)  # standard kommando på freebsd 2015-11-05 jonp
UUID=$(cat /proc/sys/kernel/random/uuid)            # virker ikke lenger på nerdhaven 2015-11-05 jonp
# UUID=$(uuidgen)                                       # standard kommando på freebsd 2015-11-05 jonp
sed -e "s/batchId=\"2013_13\"/batchId=\"$UUID\"/" innmelding.xml > $TMPF
# Test on sendregning.no aksepterer XML-filen
if $(dirname $0)/sws-test -n $debug -a send -t invoice -X $TMPF ; then
    echo "info: XML file accepted by sendregning.no."
else
    echo "error: XML file refused by sendregning.no."
    exit 1
fi

rm $TMPF

if [ true = "$test" ] ; then
    echo "info: dry run, not submitting to sendregning.no"
    echo "info: exiting"
    exit 0
fi

BATCHID="$(date +%Y-%m-%dT%H%M%S)"
echo "Sender faktura-batch med BATCHID: $BATCHID"
# TMPF=$(mktemp)                                      # virker ikke lenger på nerdhaven 2015-11-05 jonp
TMPF=$(mktemp /tmp/medlemsliste-sendinvoices.XXXXXX)  # standard kommando på freebsd 2015-11-05 jonp
sed -e "s/batchId=\"2013_13\"/batchId=\"$BATCHID\"/" innmelding.xml > $TMPF
# Send fakturaene
if $(dirname $0)/sws-test $debug -a send -t invoice -X $TMPF ; then
    # Oppdater ZUsrFakturertPeriode
    $(dirname $0)/medlemsliste-makeinvoices -u innmelding.xml > foo && \
	mv foo medlemsliste.csv
    rm $TMPF
    if [ true = "$yearly" ] ; then
	msg="Fakturert alle medlemmer (hovedfakturering)."
    else
	msg="Fakturert nye medlemer."
    fi

    git add medlemsliste.csv
    git commit -m "$msg"
    git push
else
    echo "error: submitting invoice XML failed."
    exit 1
fi 

rm innmelding.xml
