diff options
| -rw-r--r-- | help/app/models/ticket.rb | 6 | ||||
| -rw-r--r-- | help/app/models/ticket_comment.rb | 3 | ||||
| -rw-r--r-- | help/test/unit/ticket_comment_test.rb | 7 | ||||
| -rw-r--r-- | help/test/unit/ticket_test.rb | 3 | ||||
| -rw-r--r-- | users/app/controllers/sessions_controller.rb | 6 | ||||
| -rw-r--r-- | users/app/models/user.rb | 7 | 
6 files changed, 27 insertions, 5 deletions
diff --git a/help/app/models/ticket.rb b/help/app/models/ticket.rb index 8a282b5..0f38bf4 100644 --- a/help/app/models/ticket.rb +++ b/help/app/models/ticket.rb @@ -28,7 +28,7 @@ class Ticket < CouchRest::Model::Base    timestamps! -  before_validation :set_code, :on => :create +  before_validation :set_created_by, :set_code, :on => :create    design do      view :by_title @@ -37,7 +37,9 @@ class Ticket < CouchRest::Model::Base    validates :email, :format => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/, :if => :email #email address is optional -  #set created_by to be current_user +  def set_created_by +    self.created_by = User.current if User.current +  end    def is_creator_validated?      !!created_by diff --git a/help/app/models/ticket_comment.rb b/help/app/models/ticket_comment.rb index 1e23136..6c2a792 100644 --- a/help/app/models/ticket_comment.rb +++ b/help/app/models/ticket_comment.rb @@ -26,8 +26,7 @@ class TicketComment < CouchRest::Model::Base #?? do we want this to be a base mo    end    def set_posted_by -    #should be something like this, but current_user is not set yet -    #self.posted_by = current_user if current_user +    self.posted_by = User.current if User.current    end  end diff --git a/help/test/unit/ticket_comment_test.rb b/help/test/unit/ticket_comment_test.rb index 37e6e67..ba6120b 100644 --- a/help/test/unit/ticket_comment_test.rb +++ b/help/test/unit/ticket_comment_test.rb @@ -25,6 +25,13 @@ class TicketCommentTest < ActiveSupport::TestCase      #tc.ticket = Ticket.find_by_title("test title")      #tc.ticket.title    end +   +  test "create authenticated comment" do +    User.current = 4 +    comment2 = TicketComment.new :body => "help my email is broken!" +    comment2.save +    assert_not_nil comment2.posted_by +  end    test "add comments" do      testticket = Ticket.create :title => "testing" diff --git a/help/test/unit/ticket_test.rb b/help/test/unit/ticket_test.rb index fddd719..2dbd63c 100644 --- a/help/test/unit/ticket_test.rb +++ b/help/test/unit/ticket_test.rb @@ -41,7 +41,8 @@ class TicketTest < ActiveSupport::TestCase      assert_not_nil t1.code      assert_nil t1.created_by -    t2 = Ticket.create :title => 'test title', :created_by => 4 +    User.current = 4 +    t2 = Ticket.create :title => 'test title'      assert_nil t2.code      assert_not_nil t2.created_by diff --git a/users/app/controllers/sessions_controller.rb b/users/app/controllers/sessions_controller.rb index e68d798..d398057 100644 --- a/users/app/controllers/sessions_controller.rb +++ b/users/app/controllers/sessions_controller.rb @@ -8,6 +8,7 @@ class SessionsController < ApplicationController    def create      @user = User.find_by_param(params[:login])      session[:handshake] = @user.initialize_auth(params['A'].hex) +    User.current = @user #?      render :json => { :B => session[:handshake].bb.to_s(16) }    rescue RECORD_NOT_FOUND      render :json => {:errors => {:login => ["unknown user"]}} @@ -17,6 +18,7 @@ class SessionsController < ApplicationController      @user = User.find_by_param(params[:id])      @server_auth = @user.authenticate!(params[:client_auth].hex, session.delete(:handshake))      session[:user_id] = @user.id +    User.current = @user #?      render :json => {:M2 => @server_auth}    rescue WRONG_PASSWORD      session[:handshake] = nil @@ -25,6 +27,10 @@ class SessionsController < ApplicationController    def destroy      session[:user_id] = nil +    User.current = nil #?      redirect_to root_path    end + +   +  end diff --git a/users/app/models/user.rb b/users/app/models/user.rb index fa64f42..95ee810 100644 --- a/users/app/models/user.rb +++ b/users/app/models/user.rb @@ -46,4 +46,11 @@ class User < CouchRest::Model::Base      password_verifier.hex    end +  def self.current +    Thread.current[:user] +  end +  def self.current=(user) +    Thread.current[:user] = user +  end +  end  | 
