Improve t script
This commit is contained in:
parent
2ef0e33a2f
commit
5c2727f4e4
1 changed files with 43 additions and 13 deletions
|
@ -174,15 +174,33 @@ time_invoice () {
|
||||||
echo "Please generate an invoice manually! This is the total"
|
echo "Please generate an invoice manually! This is the total"
|
||||||
t invoice_list "$PROJECT" "$COMMENT"
|
t invoice_list "$PROJECT" "$COMMENT"
|
||||||
|
|
||||||
|
CLIENT=$(echo "$PROJECT" | cut -f3 -d ":")
|
||||||
|
CLIENT_CONFIG=$(grep "$CLIENT" "$MY_CONFIG_CACHE_DIR/invoice_client_config" || echo "")
|
||||||
|
|
||||||
|
if [ -z "$CLIENT_CONFIG" ]; then
|
||||||
|
echo "===="
|
||||||
|
echo "Missing configuration for client $CLIENT"
|
||||||
|
unset HOURLY_RATE
|
||||||
|
until [[ $HOURLY_RATE == +([0-9]) ]] ; do
|
||||||
|
read -r -p "Please input hourly rate: " HOURLY_RATE
|
||||||
|
done
|
||||||
|
unset CURRENCY_SYMBOL
|
||||||
|
read -r -p "Please input currency symbol used: " CURRENCY_SYMBOL
|
||||||
|
printf "%s\t%s\t%s\n" "$CLIENT" "$HOURLY_RATE" "$CURRENCY_SYMBOL" >> "$MY_CONFIG_CACHE_DIR/invoice_client_config"
|
||||||
|
echo "===="
|
||||||
|
else
|
||||||
|
HOURLY_RATE=$(echo "$CLIENT_CONFIG" | cut -f2 -d ' ')
|
||||||
|
CURRENCY_SYMBOL=$(echo "$CLIENT_CONFIG" | cut -f3 -d ' ')
|
||||||
|
fi
|
||||||
|
|
||||||
echo "===="
|
echo "===="
|
||||||
echo "Please input amount to invoice"
|
echo "Please input amount to invoice"
|
||||||
read -p "Amount in EUR: " AMOUNT
|
read -r -p "Amount in used currency ($CURRENCY_SYMBOL): " AMOUNT
|
||||||
|
|
||||||
CLIENT=$(echo $PROJECT | cut -f3 -d ":")
|
|
||||||
echo "Please input a directory name for this invoice"
|
echo "Please input a directory name for this invoice"
|
||||||
read -p "Directory name: " DIRECTORY_NAME
|
read -r -p "Directory name: " DIRECTORY_NAME
|
||||||
echo "Please input a title for this invoice"
|
echo "Please input a title for this invoice"
|
||||||
read -p "Title: " INVOICE_TITLE
|
read -r -p "Title: " INVOICE_TITLE
|
||||||
|
|
||||||
INVOICE_DIR="$INVOICE_GENERATOR_HOME/invoices/$CLIENT/$DIRECTORY_NAME"
|
INVOICE_DIR="$INVOICE_GENERATOR_HOME/invoices/$CLIENT/$DIRECTORY_NAME"
|
||||||
INVOICE_FILE="$INVOICE_DIR/invoice.tex"
|
INVOICE_FILE="$INVOICE_DIR/invoice.tex"
|
||||||
|
@ -191,32 +209,44 @@ time_invoice () {
|
||||||
sed -i "s/===INVOICETITLE===/$INVOICE_TITLE/" "$INVOICE_FILE"
|
sed -i "s/===INVOICETITLE===/$INVOICE_TITLE/" "$INVOICE_FILE"
|
||||||
|
|
||||||
INVOICE_ITEMS=""
|
INVOICE_ITEMS=""
|
||||||
HOURLY_RATE="50"
|
|
||||||
|
|
||||||
read -p "Would you like to customize entries? [Y/n]" CUSTOMIZE
|
read -r -p "Would you like to customize entries? [Y/n]" CUSTOMIZE
|
||||||
|
|
||||||
if [ "Y" == "$CUSTOMIZE" ]; then
|
if [ "Y" == "$CUSTOMIZE" ]; then
|
||||||
while read -p "Enter name for invoice entry. Empty name ends input: " ENTRY_NAME; do
|
while read -r -p "Enter name for invoice entry. Empty name ends input: " ENTRY_NAME; do
|
||||||
if [ -z "$ENTRY_NAME" ]; then
|
if [ -z "$ENTRY_NAME" ]; then
|
||||||
echo "Done with reading entries."
|
echo "Done with reading entries."
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
|
|
||||||
read -p "Enter number of hours for this entry ($ENTRY_NAME): " HOURS
|
unset HOURS
|
||||||
|
until [[ $HOURS == +([0-9]) ]] ; do
|
||||||
|
read -r -p "Enter number of hours for this entry ($ENTRY_NAME): " HOURS
|
||||||
|
done
|
||||||
INVOICE_ITEMS="$INVOICE_ITEMS \\\\invoiceitem{$ENTRY_NAME}{$HOURS}{$HOURLY_RATE}{}\n"
|
INVOICE_ITEMS="$INVOICE_ITEMS \\\\invoiceitem{$ENTRY_NAME}{$HOURS}{$HOURLY_RATE}{}\n"
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
read -p "Enter number of hours for this invoice: " HOURS
|
unset HOURS
|
||||||
|
until [[ $HOURS == +([0-9]) ]] ; do
|
||||||
|
read -r -p "Enter number of hours for this invoice: " HOURS
|
||||||
|
done
|
||||||
INVOICE_ITEMS="$INVOICE_ITEMS \\\\invoiceitem{Development work (hourly)}{$HOURS}{$HOURLY_RATE}{}\n"
|
INVOICE_ITEMS="$INVOICE_ITEMS \\\\invoiceitem{Development work (hourly)}{$HOURS}{$HOURLY_RATE}{}\n"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sed -i "s/===INVOICETABLE===/$INVOICE_ITEMS/" "$INVOICE_FILE"
|
sed -i "s/===INVOICETABLE===/$INVOICE_ITEMS/" "$INVOICE_FILE"
|
||||||
LAST_PWD="$PWD"
|
|
||||||
|
if [ "$COMMENT" == ".*" ]; then
|
||||||
|
LEDGER_INVOICE_TITLE="$INVOICE_TITLE invoice"
|
||||||
|
else
|
||||||
|
LEDGER_INVOICE_TITLE="$COMMENT"
|
||||||
|
fi
|
||||||
|
|
||||||
echo "" >> "$TIMESHEET_LEDGER_HOME/invoices/$(date +%Y).journal"
|
echo "" >> "$TIMESHEET_LEDGER_HOME/invoices/$(date +%Y).journal"
|
||||||
echo "$(date '+%Y-%m-%d') $COMMENT" >> "$TIMESHEET_LEDGER_HOME/invoices/$(date +%Y).journal"
|
echo "$(date '+%Y-%m-%d') ! $LEDGER_INVOICE_TITLE" >> "$TIMESHEET_LEDGER_HOME/invoices/$(date +%Y).journal"
|
||||||
echo " ($PROJECT) -$(ledger -f "$TIMESHEET_LEDGER_HOME/main.journal" bal $PROJECT and @"$COMMENT" --format "%(total)")" >> "$TIMESHEET_LEDGER_HOME/invoices/$(date +%Y).journal"
|
if [ "$COMMENT" != ".*" ]; then
|
||||||
echo " Invoiced:$(echo $PROJECT | sed "s/Project://") $AMOUNT€" >> "$TIMESHEET_LEDGER_HOME/invoices/$(date +%Y).journal"
|
echo " ($PROJECT) -$(ledger -f "$TIMESHEET_LEDGER_HOME/main.journal" bal $PROJECT and @"$COMMENT" --format "%(total)")" >> "$TIMESHEET_LEDGER_HOME/invoices/$(date +%Y).journal"
|
||||||
|
fi
|
||||||
|
echo " Invoiced:$(echo $PROJECT | sed "s/Project://") $AMOUNT$CURRENCY_SYMBOL" >> "$TIMESHEET_LEDGER_HOME/invoices/$(date +%Y).journal"
|
||||||
echo " Magic" >> "$TIMESHEET_LEDGER_HOME/invoices/$(date +%Y).journal"
|
echo " Magic" >> "$TIMESHEET_LEDGER_HOME/invoices/$(date +%Y).journal"
|
||||||
|
|
||||||
echo "Generated an invoice in $INVOICE_DIR/invoice.tex"
|
echo "Generated an invoice in $INVOICE_DIR/invoice.tex"
|
||||||
|
|
Loading…
Add table
Reference in a new issue