Bug 12856: koha-disable fails without disabling site
authorLiz Rea <liz@catalyst.net.nz>
Mon, 6 Oct 2014 20:35:19 +0000 (09:35 +1300)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Thu, 27 Nov 2014 14:42:03 +0000 (11:42 -0300)
To test:
Package up a branch with this patch
install that package
create a site - sudo koha-create --create-db testdisable
enable a site - sudo koha-enable testdisable
check it's enabled - sudo koha-list --enabled
* it should show up
disable a site - sudo koha-disable testdisable
Do this for both debian squeeze/wheezy and ubuntu 12.04 and 14.04, if you can. I'd like to see a sign off from a debian (sq/wh)eez(e/y) or ubuntu 12 user, because I could only test reliably on ubuntu 14.04.
* make sure apache restarts and no errors are produced
check it's disabled - sudo koha-list --enabled
* it should not show up
check the site is still there - sudo koha-list
* it should still be there
check that the config file has the Include for disabling uncommented
* the line Include /etc/koha/apache-shared-disable.conf should not have a # in front.
Re-enable the site - sudo koha-enable testdisable
* the line Include /etc/koha/apache-shared-disable.conf should have a # in front.

And the final question - does the site work? All other functions unchanged?

Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Works as expected. code reads better too.
Edit: I added a missing space in one line.

debian/scripts/koha-disable

index 762ac13..b03ed80 100755 (executable)
@@ -29,19 +29,16 @@ fi
 
 disable_instance()
 {
-    local site=$1
-    local instancefile=$(get_apache_config_for $site)
+    local instancename=$1
+    local instancefile=$(get_apache_config_for "$instancename")
 
-    if [ "$instancefile" = ""]; then
-        return 2
-    fi
-
-    if is_enabled $instancename; then
-        sed -i 's:^\s*#\(\s*Include /etc/koha/apache-shared-disable.conf\)$:\1:' \
-          "$instancefile"
-        return 0
+    if [ "$instancefile" = "" ]; then
+        echo 2
+    elif is_enabled $instancename; then
+        sed -i 's:^\s*#\(\s*Include /etc/koha/apache-shared-disable.conf\)$:\1:' "$instancefile"
+        echo 0
     else
-        return 1
+        echo 1
     fi
 }
 
@@ -60,7 +57,6 @@ EOF
 [ $# -ge 1 ] || ( usage ; die "Missing instance name..." )
 
 restart_apache="no"
-
 for name in "$@"
 do
     if is_instance $name ; then