login
ex.pla.in/ tracks.tra.in /opensignups

here you'll find frequently-asked questions about and tips for getting things done with tracks.tra.in.

this faq is still growing, thanks to your questions. expect more tips and feedback features to appear in time.

-c

a

It's not that hard to add open signups: you just have to modify users_controller.rb a tiny bit. I added an "OPEN_SIGNUP = true" option to config/environment.rb: you need to set OPEN_SIGNUP in your deployment, too, for it to work.

Here's the patch, against the current git trunk for 1.7. I'll start putting stuff like this on github soon. (There's also a blog entry about this.)

diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 98f45cb..a8a722c 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -33,7 +33,7 @@ class UsersController < ApplicationController
      @page_title = "TRACKS::Sign up as the admin user"
      @heading = "Welcome to TRACKS. To get started, please create an admin account:"
      @user = get_new_user
-    elsif @user && @user.is_admin?
+    elsif (@user && @user.is_admin?) || OPEN_SIGNUP
      @page_title = "TRACKS::Sign up a new user"
      @heading = "Sign up a new user:"
      @user = get_new_user
@@ -60,7 +60,7 @@ class UsersController < ApplicationController
    end
    respond_to do |format|
      format.html do
-        unless User.no_users_yet? || (@user && @user.is_admin?)
+        unless User.no_users_yet? || (@user && @user.is_admin?) || OPEN_SIGNUP
          @page_title = "No signups"
          @admin_email = User.find_admin.preference.admin_email
          render :action => "nosignup", :layout => "login"