40 lines
1007 B
Bash
Executable File
40 lines
1007 B
Bash
Executable File
#!/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="note = _('New %s Request created by %s from %s to %s') % (holiday.holiday_status_id.name, holiday.create_uid.name, start, end)"
|
|
IFS='' read -r -d '' APPEND << EOM
|
|
if holiday.name:
|
|
note += _('<br/>Comment: %s') % (holiday.name)
|
|
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="$APPEND" 'NR-1 == n {print s} {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"
|