<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>app/controllers/user_sessions_controller.rb</filename>
    </added>
    <added>
      <filename>app/controllers/users_controller.rb</filename>
    </added>
    <added>
      <filename>app/helpers/user_sessions_helper.rb</filename>
    </added>
    <added>
      <filename>app/helpers/users_helper.rb</filename>
    </added>
    <added>
      <filename>app/models/user.rb</filename>
    </added>
    <added>
      <filename>app/models/user_session.rb</filename>
    </added>
    <added>
      <filename>app/views/user_sessions/new.html.erb</filename>
    </added>
    <added>
      <filename>app/views/users/edit.html.erb</filename>
    </added>
    <added>
      <filename>app/views/users/index.html.erb</filename>
    </added>
    <added>
      <filename>app/views/users/new.html.erb</filename>
    </added>
    <added>
      <filename>app/views/users/show.html.erb</filename>
    </added>
    <added>
      <filename>db/migrate/20091017152052_create_users.rb</filename>
    </added>
    <added>
      <filename>db/seeds.rb</filename>
    </added>
    <added>
      <filename>test/fixtures/users.yml</filename>
    </added>
    <added>
      <filename>test/functional/user_sessions_controller_test.rb</filename>
    </added>
    <added>
      <filename>test/functional/users_controller_test.rb</filename>
    </added>
    <added>
      <filename>test/performance/browsing_test.rb</filename>
    </added>
    <added>
      <filename>test/unit/helpers/users_helper_test.rb</filename>
    </added>
    <added>
      <filename>test/unit/user_test.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,2 +1,3 @@
 httparty
 twitter
+authlogic
\ No newline at end of file</diff>
      <filename>.gems</filename>
    </modified>
    <modified>
      <diff>@@ -6,10 +6,10 @@ Features:
 * Browser and iPhone interface for viewing the schedule.
 * Commenting system for in-presentation discussion or notes.
 * Admin interface for quick entry and adjustment of schedule. Now with drag and drop.
+* Supports multi-day events
 * Some twitter integration available.
 
 TO-DO:
-* Extend for a multi-day event
 * Improve security around the admin pages
 * Add an all-comments page
 * migrate the whole thing to jquery
@@ -18,6 +18,7 @@ TO-DO:
 ** Add subdomain-fu
 ** Add Event model to be loaded based on subdomain.
 ** Add Event config: icon, url, owner, contact info, color pallet
+* Add an event idea and voting system that can roll idea into the schedule the day of the event
 
 Twitter integration ideas:
 * Add links to display text. Link @user words to twitter.com/user and #tags to search.twitter.com/search?q=tags</diff>
      <filename>README</filename>
    </modified>
    <modified>
      <diff>@@ -6,13 +6,12 @@ class ApplicationController &lt; ActionController::Base
   protect_from_forgery # See ActionController::RequestForgeryProtection for details\
   filter_parameter_logging :password
   before_filter :set_current_event
-  helper_method :current_event, :admin?
+  helper_method :current_event, :admin?, :current_user
 
    def current_event
      set_current_event
    end
   
-
   protected
 
   def authorize
@@ -41,5 +40,15 @@ class ApplicationController &lt; ActionController::Base
   def set_current_event
     @current_event ||= Event.find_by_short_name!(request.subdomains.last)
   end
-  
+
+  def current_user_session
+      return @current_user_session if defined?(@current_user_session)
+      @current_user_session = UserSession.find
+  end
+
+  def current_user
+      return @current_user if defined?(@current_user)
+      @current_user = current_user_session &amp;&amp; current_user_session.record
+  end
+
 end</diff>
      <filename>app/controllers/application_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -16,11 +16,12 @@
 &lt;/head&gt;
   &lt;body&gt;
     &lt;div style=&quot;float:left;&quot;&gt;
-    	&lt;a href=&quot;&lt;%=current_event.link_url%&gt;&quot;&gt;
-			&lt;img width=&quot;350px&quot; src=&quot;&lt;%=current_event.image_url%&gt;&quot; alt=&quot;&lt;%=current_event.name%&gt;&quot; border=&quot;0&quot;/&gt;
+    	&lt;a href=&quot;&lt;%=current_event.link_url||'#'%&gt;&quot;&gt;
+          &lt;%=image_tag(current_event.image_url, :width=&gt;&quot;350&quot;, :alt=&gt;current_event.name, :border=&gt;0)%&gt;
 		&lt;/a&gt;
 	&lt;/div&gt;
-    &lt;div style=&quot;float:right;&quot;&gt;
+    &lt;div id=&quot;nav_box&quot;&gt;
+        &lt;div id=&quot;date_select_form&quot;&gt;
 		&lt;% form_tag do |f| %&gt;
 			&lt;%=select_tag 'selected_day', 
 				options_for_select(
@@ -29,14 +30,24 @@
 				{:onchange =&gt; 'this.form.submit();' }
 			%&gt;
 		&lt;% end %&gt;
+        &lt;/div&gt;
+        &lt;div id=&quot;user_links&quot;&gt;
+            &lt;% if current_user %&gt;
+                &lt;%=link_to &quot;profile&quot;, edit_user_path(:current) %&gt; |
+                &lt;%=link_to &quot;logout&quot;, logout_path %&gt;
+            &lt;% else %&gt;
+                &lt;%=link_to &quot;register&quot;, new_user_path %&gt; |
+                &lt;%=link_to &quot;login&quot;, login_path %&gt;
+            &lt;% end %&gt;
+        &lt;/div&gt;
 	&lt;/div&gt;
 	&lt;h3 style=&quot;padding-top: 20px; margin-bottom:0px; padding-bottom:0px;&quot;&gt;Schedule Grid&lt;/h3&gt;
     &lt;ul&gt;
         &lt;a href=&quot;/iphone&quot;&gt;&lt;li&gt;iPhone edition&lt;/li&gt;&lt;/a&gt;
         &lt;a href=&quot;/mobile&quot;&gt;&lt;li&gt;Mobile edition (no table)&lt;/li&gt;&lt;/a&gt;
     &lt;/ul&gt;
-    &lt;br clear=&quot;all&quot;/&gt;
-	&lt;p style=&quot;color: &lt;%=current_event.secondary_color%&gt;&quot;&gt;&lt;%= flash[:notice] %&gt;&lt;/p&gt;
+    &lt;br clear=&quot;all&quot;/&gt;    
+	&lt;p&gt;&lt;%= flash[:notice] %&gt;&lt;/p&gt;
     &lt;%= yield %&gt;
   &lt;/body&gt;
 &lt;/html&gt;</diff>
      <filename>app/views/layouts/application.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -29,8 +29,12 @@ Rails::Initializer.run do |config|
   # config.gem &quot;bj&quot;
   # config.gem &quot;hpricot&quot;, :version =&gt; '0.6', :source =&gt; &quot;http://code.whytheluckystiff.net&quot;
   # config.gem &quot;aws-s3&quot;, :lib =&gt; &quot;aws/s3&quot;
+    config.gem 'authlogic'
+    config.gem 'httparty'
+    config.gem 'twitter'
 
-  # Only load the plugins named here, in the order given. By default, all plugins 
+
+  # Only load the plugins named here, in the order given. By default, all plugins
   # in vendor/plugins are loaded in alphabetical order.
   # :all can be used as a placeholder for all plugins not explicitly named
   # config.plugins = [ :exception_notification, :ssl_requirement, :all ]
@@ -69,6 +73,3 @@ Rails::Initializer.run do |config|
   # Activate observers that should always be running
   # config.active_record.observers = :cacher, :garbage_collector
 end
-
-require 'httparty'
-require 'twitter'</diff>
      <filename>config/environment.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,57 +1,16 @@
 ActionController::Routing::Routes.draw do |map|
+  map.resources :user_sessions
+  map.resources :users
   map.resources :comments
-
-  # The priority is based upon order of creation: first created -&gt; highest priority.
-
   map.resources :presentations
-
   map.resources :timeslots
-
   map.resources :rooms
-
   map.home '', :controller =&gt; 'schedule', :action =&gt; 'index'
-  map.login 'login', :controller =&gt; 'sessions', :action =&gt; 'new'
-  map.logout 'logout', :controller =&gt; 'sessions', :action =&gt; 'destroy'
+  map.login 'login', :controller =&gt; 'user_sessions', :action =&gt; 'new'
+  map.logout 'logout', :controller =&gt; 'user_sessions', :action =&gt; 'destroy'
   map.iphone 'iphone', :controller=&gt;'schedule', :action=&gt;'iphone'
   map.mobile 'mobile', :controller=&gt;'schedule', :action=&gt;'mobile'
-
-  # Sample of regular route:
-  #   map.connect 'products/:id', :controller =&gt; 'catalog', :action =&gt; 'view'
-  # Keep in mind you can assign values other than :controller and :action
-
-  # Sample of named route:
-  #   map.purchase 'products/:id/purchase', :controller =&gt; 'catalog', :action =&gt; 'purchase'
-  # This route can be invoked with purchase_url(:id =&gt; product.id)
-
-  # Sample resource route (maps HTTP verbs to controller actions automatically):
-  #   map.resources :products
-
-  # Sample resource route with options:
-  #   map.resources :products, :member =&gt; { :short =&gt; :get, :toggle =&gt; :post }, :collection =&gt; { :sold =&gt; :get }
-
-  # Sample resource route with sub-resources:
-  #   map.resources :products, :has_many =&gt; [ :comments, :sales ], :has_one =&gt; :seller
-  
-  # Sample resource route with more complex sub-resources
-  #   map.resources :products do |products|
-  #     products.resources :comments
-  #     products.resources :sales, :collection =&gt; { :recent =&gt; :get }
-  #   end
-
-  # Sample resource route within a namespace:
-  #   map.namespace :admin do |admin|
-  #     # Directs /admin/products/* to Admin::ProductsController (app/controllers/admin/products_controller.rb)
-  #     admin.resources :products
-  #   end
-
-  # You can have the root of your site routed with map.root -- just remember to delete public/index.html.
   map.root :controller =&gt; &quot;schedule&quot;
-
-  # See how all your routes lay out with &quot;rake routes&quot;
-
-  # Install the default routes as the lowest priority.
-  # Note: These default routes make all actions in every controller accessible via GET requests. You should
-  # consider removing the them or commenting them out if you're using named routes and resources.
   map.connect ':controller/:action/:id'
   map.connect ':controller/:action/:id.:format'
 end</diff>
      <filename>config/routes.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,7 +9,7 @@
 #
 # It's strongly recommended to check this file into your version control system.
 
-ActiveRecord::Schema.define(:version =&gt; 20090416010630) do
+ActiveRecord::Schema.define(:version =&gt; 20091017152052) do
 
   create_table &quot;comments&quot;, :force =&gt; true do |t|
     t.integer  &quot;presentation_id&quot;
@@ -30,6 +30,7 @@ ActiveRecord::Schema.define(:version =&gt; 20090416010630) do
     t.string   &quot;tertiary_color&quot;
     t.datetime &quot;created_at&quot;
     t.datetime &quot;updated_at&quot;
+    t.string   &quot;rotation&quot;,        :default =&gt; &quot;TIME_ACROSS&quot;, :null =&gt; false
   end
 
   create_table &quot;presentations&quot;, :force =&gt; true do |t|
@@ -74,4 +75,21 @@ ActiveRecord::Schema.define(:version =&gt; 20090416010630) do
     t.date     &quot;slot_date&quot;
   end
 
+  create_table &quot;users&quot;, :force =&gt; true do |t|
+    t.string   &quot;login&quot;
+    t.string   &quot;email&quot;
+    t.string   &quot;crypted_password&quot;
+    t.string   &quot;password_salt&quot;
+    t.string   &quot;persistence_token&quot;
+    t.integer  &quot;login_count&quot;,        :default =&gt; 0, :null =&gt; false
+    t.integer  &quot;failed_login_count&quot;, :default =&gt; 0, :null =&gt; false
+    t.datetime &quot;last_request_at&quot;
+    t.datetime &quot;current_login_at&quot;
+    t.datetime &quot;last_login_at&quot;
+    t.string   &quot;current_login_ip&quot;
+    t.string   &quot;last_login_ip&quot;
+    t.datetime &quot;created_at&quot;
+    t.datetime &quot;updated_at&quot;
+  end
+
 end</diff>
      <filename>db/schema.rb</filename>
    </modified>
    <modified>
      <diff>@@ -89,3 +89,7 @@ span.field {
 	border: 2px ridge #316853;
 	padding: 2px;
 }
+
+div#nav_box {
+    float:right;
+}
\ No newline at end of file</diff>
      <filename>public/stylesheets/application.css</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>d215c9f1a25c5d656dfee6717dc18c5bb278de46</id>
    </parent>
  </parents>
  <author>
    <name>Carl Leiby</name>
    <email>carl.leiby@gmail.com</email>
  </author>
  <url>http://github.com/carlism/barcamp_schedule/commit/80500be8fa7eb77390c5ff2fdcb29dfa537984d1</url>
  <id>80500be8fa7eb77390c5ff2fdcb29dfa537984d1</id>
  <committed-date>2009-10-17T11:14:14-07:00</committed-date>
  <authored-date>2009-10-17T11:14:14-07:00</authored-date>
  <message>Added authlogic gem and implemented a simple login capability.</message>
  <tree>1ad6739726b25c29cefde6215fa4eac434ca3e94</tree>
  <committer>
    <name>Carl Leiby</name>
    <email>carl.leiby@gmail.com</email>
  </committer>
</commit>
