From: Joey Hess <joeyh@joeyh.name>
Date: Wed, 2 Mar 2016 20:35:16 +0000 (-0400)
Subject: loginselector: When only openid and emailauth are enabled, but passwordauth is not... 
X-Git-Tag: 3.20160506~68
X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/8d28f70b374d8291e5da94265ced333a801498b4?ds=inline;hp=--cc

loginselector: When only openid and emailauth are enabled, but passwordauth is not, avoid showing a "Other" box which opens an empty form.
---

8d28f70b374d8291e5da94265ced333a801498b4
diff --git a/IkiWiki/Plugin/loginselector.pm b/IkiWiki/Plugin/loginselector.pm
index 26c80b4ce..17539ce8a 100644
--- a/IkiWiki/Plugin/loginselector.pm
+++ b/IkiWiki/Plugin/loginselector.pm
@@ -94,7 +94,6 @@ sub checkconfig () {
 		my $real_cgi_signin;
 		my $otherform_label=gettext("Other");
 		if (keys %{$IkiWiki::hooks{auth}} > 1) {
-			$real_cgi_signin=\&IkiWiki::cgi_signin;
 			# Special case to avoid labeling password auth as
 			# "Other" when it's the only auth plugin not
 			# integrated with the loginselector.
@@ -106,6 +105,9 @@ sub checkconfig () {
 			if (keys %h == 1 && exists $h{passwordauth}) {
 				$otherform_label=gettext("Password");
 			}
+			if (keys %h > 0) {
+				$real_cgi_signin=\&IkiWiki::cgi_signin;
+			}
 		}
 		inject(name => "IkiWiki::cgi_signin", call => sub ($$) {
 			login_selector($real_cgi_signin, $otherform_label, @_);
diff --git a/debian/changelog b/debian/changelog
index 615ad4ee2..2b8fbffaa 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,14 @@
 ikiwiki (3.20160122) UNRELEASED; urgency=medium
 
+  [ Simon McVittie ]
   * d/control: use https for Homepage
   * d/control: add Vcs-Browser
 
+  [ Joey Hess ]
+  * loginselector: When only openid and emailauth are enabled, but
+    passwordauth is not, avoid showing a "Other" box which opens an
+    empty form.
+
  -- Simon McVittie <smcv@debian.org>  Thu, 21 Jan 2016 22:34:04 +0000
 
 ikiwiki (3.20160121) unstable; urgency=medium