From 5ff2047b2cb0a6ac0a44aff75c9ab7b81065b0ec Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Tue, 30 Apr 2013 10:05:44 -0300 Subject: [PATCH] Bug 10157 - koha-email-enable error handling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit koha-email-enable now - Checks the instance exists. - Checks if email is already enabled. Regards To+ Sponsored-by: Universidad Nacional de Córdoba Signed-off-by: Robin Sheat --- debian/docs/koha-email-enable.xml | 4 +- debian/scripts/koha-email-enable | 81 +++++++++++++++++++++++++++++++------ 2 files changed, 71 insertions(+), 14 deletions(-) diff --git a/debian/docs/koha-email-enable.xml b/debian/docs/koha-email-enable.xml index 0f39010..1aeb2f1 100644 --- a/debian/docs/koha-email-enable.xml +++ b/debian/docs/koha-email-enable.xml @@ -17,7 +17,7 @@ koha-email-enable - Turn on the email for a Koha instance. + Turn on the email for Koha instances. UNIX/Linux @@ -28,7 +28,7 @@ Description - Turn on the email for a Koha instance. + Turn on the email for Koha instances. See also diff --git a/debian/scripts/koha-email-enable b/debian/scripts/koha-email-enable index da63589..a130c49 100755 --- a/debian/scripts/koha-email-enable +++ b/debian/scripts/koha-email-enable @@ -1,6 +1,6 @@ #!/bin/sh # -# koha-email-enable -- turn on the email for a Koha instance +# koha-email-enable - turn on the email for Koha instances # Copyright 2010 Catalyst IT, Ltd # # This program is free software: you can redistribute it and/or modify @@ -18,19 +18,76 @@ set -e -if [ "$#" = 0 ] -then - echo "Enables email for a koha instance." 1>&2 - echo "Usage: $0 instancename..." 1>&2 +die() +{ + echo "$@" 1>&2 exit 1 -fi -libdir=/var/lib/koha +} + +warn() +{ + echo "$@" 1>&2 +} + +is_instance() +{ + local instancename=$1 + + if find /etc/koha/sites -mindepth 1 -maxdepth 1 \ + -type d -printf '%f\n'\ + | grep -q -x $instancename ; then + return 0 + else + return 1 + fi +} + +is_email_enabled() +{ + local instancename=$1 + + if [ -e /var/lib/koha/$instancename/email.enabled ]; then + return 0 + else + return 1 + fi +} + +enable_email() +{ + local instancename=$1 + local libdir="/var/lib/koha" + + touch $libdir/$instancename/email.enabled + + echo "Enabled email for instance $instancename." +} + +usage() +{ + local scriptname=$0 + cat <&2 - continue + if is_instance $name; then + if ! is_email_enabled $name; then + enable_email $name + else + warn "Email already enabled for instance $name." + fi + else + warn "Unknown instance $name." fi - touch $libdir/$name/email.enabled done + +exit 0 -- 1.7.10.4