#!/bin/bash # Get script name SCRIPT=$(basename "$0") # First param is docker container CONTAINER=$1 # Default configuration PACKAGE_PATH="/usr/lib/python3/dist-packages/" # Custom configuration FILE_PATH="${PACKAGE_PATH}odoo/addons/hr_holidays/models/hr_leave.py" FIND="body=_('Your %s planned on %s has been refused') % (holiday.holiday_status_id.display_name, holiday.date_from)," IFS='' read -r -d '' REPLACE << EOM body=(_('Your %s planned on %s has been refused') % (holiday.holiday_status_id.display_name, holiday.date_from)) + _('
Note: %s') % (holiday.sudo().report_note), EOM # Get filename FILE=`basename "$FILE_PATH"` # Copy from docker docker cp "$CONTAINER":"$FILE_PATH" . LINE=$(grep -n "$FIND" $FILE | cut -f1 -d:) # Find and append awk -v n="$LINE" -v s="$REPLACE" '{ if(NR == n) {print s} else {print} }' $FILE > $FILE.tmp && mv $FILE.tmp $FILE # Copy back to docker docker cp $FILE "$CONTAINER":"$FILE_PATH" # Remove file rm -f $FILE # Register patch installation echo "Patch $SCRIPT applied." touch "/etc/odoo/${SCRIPT}_${CONTAINER}_installed"