feat(odoo_scripts): remove odoo-user
This commit is contained in:
7 files changed
+104
-91
No files matched your search
+102
@@ -0,0 +1,102 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Get script name
|
||||
SCRIPT=$(basename "$0")
|
||||
VERSION="1.0.1"
|
||||
|
||||
# Display Help
|
||||
Help() {
|
||||
echo
|
||||
echo "$SCRIPT"
|
||||
echo
|
||||
echo "Description: Backup Odoo database from container."
|
||||
echo "Syntax: $SCRIPT [-d|-c|-f|-r|-u|-V|help]"
|
||||
echo "Example: $SCRIPT -d erp-dev -c postgres01 -f tmp/erp.zip -r -p ~/.local/share/Odoo/filestore"
|
||||
echo "options:"
|
||||
echo " -d Database name. Defaults to filename."
|
||||
echo " -c Postgres container. Defaults to 'odoo'."
|
||||
echo " -f Odoo database backup file. Defaults to '/var/tmp/odoo.zip'."
|
||||
echo " -r Replace existing database."
|
||||
echo " -p Path to the filestore. Defaults to '~/.local/share/Odoo/filestore'"
|
||||
echo " -V Show $SCRIPT version."
|
||||
echo " help Show $SCRIPT manual."
|
||||
echo
|
||||
}
|
||||
|
||||
# Show help and exit
|
||||
if [[ "$1" == "help" ]]; then
|
||||
Help
|
||||
exit
|
||||
fi
|
||||
|
||||
# Check requiremements
|
||||
command -v uuidgen >/dev/null 2>&1 || { echo >&2 "uuidgen not found: apt-get install uuid-runtime"; exit 1; }
|
||||
|
||||
# Initialise option flag with a false value
|
||||
REPLACE='false'
|
||||
|
||||
# Process params
|
||||
while getopts ":c: :d: :f: :r :p :V" opt; do
|
||||
case $opt in
|
||||
c) CONTAINER="$OPTARG";;
|
||||
d) DATABASE="$OPTARG";;
|
||||
f) FILE="$OPTARG";;
|
||||
r) REPLACE='true';;
|
||||
p) FILESTORE_PATH='true';;
|
||||
V) echo "$SCRIPT version $VERSION"
|
||||
exit 0
|
||||
;;
|
||||
\?) echo "Invalid option -$OPTARG" >&2
|
||||
Help
|
||||
exit;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Fallback to environment vars and default values
|
||||
: ${CONTAINER:='postgres'}
|
||||
: ${FILE:='/var/tmp/odoo.zip'}
|
||||
: ${FILESTORE_PATH:='~/.local/share/Odoo/filestore'}
|
||||
|
||||
# Get file and directory name
|
||||
DIR=`dirname "$FILE"`
|
||||
FILENAME=`basename "$FILE"`
|
||||
: ${DATABASE:="${FILENAME::-4}"}
|
||||
|
||||
# Start restore
|
||||
echo "Requesting restore for Odoo database from $FILENAME to $DATABASE ..."
|
||||
|
||||
# Set alias
|
||||
docker_exec_bash="docker exec -e DATABASE=$DATABASE $CONTAINER /bin/bash -c"
|
||||
docker_exec_root_bash="docker exec --user root -e DATABASE=$DATABASE $CONTAINER /bin/bash -c"
|
||||
|
||||
# Unip archive
|
||||
echo "Unzip archive."
|
||||
cd $DIR
|
||||
unzip -q -o $FILENAME
|
||||
|
||||
# Clear database
|
||||
if $REPLACE; then
|
||||
echo "Remove filestore $FILESTORE_PATH/$DATABASE."
|
||||
rm -rf "$FILESTORE_PATH/$DATABASE"
|
||||
docker-postgres-drop -c "$CONTAINER" -d "$DATABASE"
|
||||
fi
|
||||
|
||||
# Copy filestore
|
||||
echo "Move filestore."
|
||||
mv filestore "$FILESTORE_PATH/$DATABASE"
|
||||
|
||||
# Create database
|
||||
echo "Create database $DATABASE."
|
||||
docker exec "$CONTAINER" /bin/bash -c "createdb -U \$POSTGRES_USER -T template0 $DATABASE"
|
||||
|
||||
# Restore database
|
||||
echo "Restore database from $DATABASE."
|
||||
docker-postgres-restore -c "$CONTAINER" -d "$DATABASE" -f
|
||||
|
||||
# Remove source files
|
||||
echo "Cleanup source files."
|
||||
rm -rf dump.sql filestore
|
||||
|
||||
# Notify if backup has finished
|
||||
echo "The restore for Odoo database $DATABASE has finished."
|
||||
@@ -15,7 +15,7 @@ Help() {
|
||||
echo "Example: $SCRIPT -d erp-dev -c odoo06 -f tmp/erp.zip -r"
|
||||
echo "options:"
|
||||
echo " -d Database name. Defaults to filename."
|
||||
echo " -c Docker container. Defaults to 'odoo'."
|
||||
echo " -c Odoo container. Defaults to 'odoo'."
|
||||
echo " -f Odoo database backup file. Defaults to '/var/tmp/odoo.zip'."
|
||||
echo " -r Replace existing database."
|
||||
echo " -u Update database uuid."
|
||||
|
||||
@@ -25,7 +25,6 @@ SCRIPTS=(
|
||||
odoo-drop
|
||||
odoo-duplicate
|
||||
odoo-restore
|
||||
odoo-user
|
||||
)
|
||||
|
||||
for SCRIPT in ${SCRIPTS[@]}; do
|
||||
|
||||
@@ -72,18 +72,7 @@ if [[ "${FILE: -3}" =~ "zip" ]]; then
|
||||
fi
|
||||
|
||||
if $REPLACE; then
|
||||
|
||||
# Ask for confirmation
|
||||
read -p "Please confirm the deletion of $DATABASE on $ODOO_HOST (y/n)? " REPLY
|
||||
if [[ $REPLY == y ]]; then
|
||||
echo "Deleting Odoo database $DATABASE ..."
|
||||
|
||||
curl \
|
||||
--silent \
|
||||
-F "master_pwd=${PASSWORD}" \
|
||||
-F "name=${DATABASE}" \
|
||||
${ODOO_HOST%/}/web/database/drop | grep -q -E 'Internal Server Error|Redirecting...'
|
||||
fi
|
||||
odoo-drop -p "$ODOO_MASTER_PASSWORD" -d "$DATABASE" -h "$ODOO_HOST"
|
||||
fi
|
||||
|
||||
# Start restore
|
||||
|
||||
@@ -1,75 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Get script name
|
||||
SCRIPT=$(basename "$0")
|
||||
VERSION="1.0.0"
|
||||
|
||||
# Display Help
|
||||
Help() {
|
||||
echo
|
||||
echo "$SCRIPT"
|
||||
echo
|
||||
echo "Description: Manage Odoo users."
|
||||
echo "Syntax: $SCRIPT [-d|-a[enable,disable,list]|-i|-V|help]"
|
||||
echo "Example: $SCRIPT -d erp-dev -a enable -id janikvonrot@mint-system.ch"
|
||||
echo "options:"
|
||||
echo " -d Database name. Defaults to 'odoo'."
|
||||
echo " -a Action to perform."
|
||||
echo " -i User account login id."
|
||||
echo " -V Show $SCRIPT version."
|
||||
echo " help Show $SCRIPT manual."
|
||||
echo
|
||||
}
|
||||
|
||||
# Show help and exit
|
||||
if [[ "$1" == "help" ]]; then
|
||||
Help
|
||||
exit
|
||||
fi
|
||||
|
||||
# Process params
|
||||
while getopts ":d: :a: :i: :V" opt; do
|
||||
case $opt in
|
||||
d) PGDATABASE="$OPTARG";;
|
||||
a) ACTION="$OPTARG";;
|
||||
i) ID="$OPTARG";;
|
||||
V) echo "$SCRIPT version $VERSION"
|
||||
exit 0
|
||||
;;
|
||||
\?) echo "Invalid option -$OPTARG" >&2
|
||||
Help
|
||||
exit;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Fallback to environment vars and default values
|
||||
: ${PGHOST:='localhost'}
|
||||
: ${PGDATABASE:='odoo'}
|
||||
: ${PGUSER:='odoo'}
|
||||
: ${PGPASSWORD:='odoo'}
|
||||
|
||||
# Export environment variables for psql
|
||||
export PGHOST
|
||||
export PGDATABASE
|
||||
export PGUSER
|
||||
export PGPASSWORD
|
||||
|
||||
# Verify variables
|
||||
[[ -z "$ACTION" ]] && { echo "Parameter -a|action is empty" ; exit 1; }
|
||||
|
||||
if [[ $ACTION == 'enable' ]]; then
|
||||
[[ -z "$ID" ]] && { echo "Parameter -i|id is empty" ; exit 1; }
|
||||
psql -c "UPDATE public.res_users SET active=true WHERE login='$ID';"
|
||||
echo "Enabled user $ID on Odoo database $PGDATABASE."
|
||||
fi
|
||||
|
||||
if [[ $ACTION == 'disable' ]]; then
|
||||
[[ -z "$ID" ]] && { echo "Parameter -i|id is empty" ; exit 1; }
|
||||
psql -c "UPDATE public.res_users SET active=false WHERE login='$ID';"
|
||||
echo "Disabled user $ID on Odoo database $PGDATABASE."
|
||||
fi
|
||||
|
||||
if [[ $ACTION == 'list' ]]; then
|
||||
psql -c "SELECT login,active FROM public.res_users;"
|
||||
fi
|
||||
@@ -26,7 +26,6 @@
|
||||
- odoo-drop
|
||||
- odoo-duplicate
|
||||
- odoo-restore
|
||||
- odoo-user
|
||||
|
||||
- name: Remove deprecated {{ role_name }}
|
||||
ansible.builtin.file:
|
||||
|
||||
@@ -37,7 +37,6 @@ curl -L https://raw.githubusercontent.com/mint-system/ansible-build/main/roles/o
|
||||
- odoo-drop
|
||||
- odoo-duplicate
|
||||
- odoo-restore
|
||||
- odoo-user
|
||||
|
||||
## [nginx](roles/nginx/README.md)
|
||||
|
||||
|
||||
Reference in new issue
Block a user