<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>app/views/messages/_form.html.haml</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -25,7 +25,7 @@ class TagsController &lt; BaseController
   
   def show
     tag_names = URI::decode(params[:id])
-
+    
     @tags = Tag.find(:all, :conditions =&gt; [ 'name IN (?)', TagList.from(tag_names) ] )
     if @tags.nil? || @tags.empty?
       flash[:notice] = :tag_does_not_exists.l_with_args(:tag =&gt; tag_names)</diff>
      <filename>app/controllers/tags_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,6 +2,7 @@ class Message &lt; ActiveRecord::Base
   is_private_message
   
   attr_accessor :to
+  attr_accessor :reply_to
 
   validates_presence_of :body, :subject
   validates_presence_of :recipient, :message =&gt; &quot;is invalid&quot;
@@ -17,4 +18,19 @@ class Message &lt; ActiveRecord::Base
     UserNotifier.deliver_message_notification(self)
   end
   
+  def self.new_reply(sender, in_reply_to = nil, params = {})
+    message = new(params[:message])
+
+    if in_reply_to
+      return nil if in_reply_to.recipient != sender #can only reply to messages you received
+      message.reply_to = in_reply_to
+      message.to = in_reply_to.sender.login
+      message.subject = &quot;Re: #{in_reply_to.subject}&quot;
+      message.body = &quot;\n\n*Original message*\n\n #{in_reply_to.body}&quot;
+      message.sender = sender
+    end
+
+    message
+  end
+  
 end
\ No newline at end of file</diff>
      <filename>app/models/message.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,10 @@ require_dependency File.dirname(__FILE__) + '/../../plugins/acts_as_taggable_on_
 class Tag &lt; ActiveRecord::Base
   
   def to_param
-    URI.escape(self.name, /[\/.?#]/)    
+    param = URI.escape(self.name, /[\/.?#]/)    
+    #quote if needed
+    param = &quot;\&quot;#{param}\&quot;&quot; if param.match(TagList.delimiter)
+    param
   end
 
   def related_tags</diff>
      <filename>app/models/tag.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,22 +6,5 @@
       %h3= :compose_message.l
       
       = error_messages_for :message
-      - form_for @message, :url =&gt; user_messages_path(@user), :html =&gt; {:class =&gt; &quot;MainForm&quot;} do |f|
-
-        -if @reply_to
-          =f.hidden_field :to
-        -else
-          %label{:for =&gt; 'message_to'} 
-            =:to.l
-            %em= &quot;(&quot; + :type_a_username.l + &quot;)&quot;
-          = f.text_field :to
-
-
-        %label{:for =&gt; 'message_subject'}= :subject.l + &quot;:&quot;
-        = f.text_field :subject
-
-        %label{:for =&gt; &quot;message_body&quot;}= :message.l + &quot;:&quot;
-        = f.text_area :body
-
-        %p
-          = submit_tag :send.l
+      
+      =render :partial =&gt; 'form', :locals =&gt; {:message =&gt; @message, :user =&gt; @user}</diff>
      <filename>app/views/messages/new.html.haml</filename>
    </modified>
    <modified>
      <diff>@@ -21,7 +21,13 @@
         = @message.created_at.to_s(:long)
 
       %pre.message_body= auto_link(h (@message.body))
-
-      %ul.message_nav
-        - if @message.recipient.eql? @user
-          %li.sent= link_to :reply.l, new_user_message_path(@user, :reply_to =&gt; @message)
\ No newline at end of file
+      
+      -if @reply    
+        %ul.message_nav
+          - if @message.recipient.eql? @user
+            %li.sent= link_to :reply.l, new_user_message_path(@user, :reply_to =&gt; @message), :onclick =&gt; &quot;$('reply').toggle(); $('message_body').activate().scrollTo();return false;&quot;
+      
+        %form.MainForm#dummy_reply
+          %textarea{:onclick =&gt; &quot;$('reply').toggle(); $('message_body').activate(); $('dummy_reply').hide(); $(this).blur(); return false;&quot;, :style =&gt; &quot;height: 75px;&quot;}
+      
+        #reply{:style =&gt; &quot;display:none;&quot;}=render :partial =&gt; 'form', :locals =&gt; {:message =&gt; @reply, :user =&gt; @user}          
\ No newline at end of file</diff>
      <filename>app/views/messages/show.html.haml</filename>
    </modified>
    <modified>
      <diff>@@ -25,4 +25,4 @@
   .yui-b.box
     %h3= :browse_content_by_tags.l
     - tag_cloud @tags, %w(nube1 nube2 nube3 nube4 nube5) do |name, css_class|
-      = link_to name, tag_url(name), :class =&gt; css_class
+      =link_to name, tag_url(URI.escape(name.to_s, /[\/.?#]/)), :class =&gt; css_class</diff>
      <filename>app/views/tags/index.html.haml</filename>
    </modified>
    <modified>
      <diff>@@ -121,7 +121,7 @@ resources :users, :member_path =&gt; '/:id', :nested_member_path =&gt; '/:user_id', :m
   user.resources :invitations
   user.resources :offerings, :collection =&gt; {:replace =&gt; :put}
   user.resources :favorites, :name_prefix =&gt; 'user_'
-  user.resources :messages, :collection =&gt; { :delete_selected =&gt; :post }  
+  user.resources :messages, :collection =&gt; { :delete_selected =&gt; :post, :auto_complete_for_username =&gt; :any }  
   user.resources :comments
 end
 resources :votes</diff>
      <filename>config/desert_routes.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,7 @@
 class TagList &lt; Array
   cattr_accessor :delimiter
-  self.delimiter = ','
+  # self.delimiter = / |\+|,/
+  self.delimiter = /\+|,| /
   
   def initialize(*args)
     add(*args)
@@ -79,10 +80,13 @@ class TagList &lt; Array
     def from(string)
       returning new do |tag_list|
         string = string.to_s.gsub('.', '').dup
-        
-        # Parse the quoted tags
-        string.gsub!(/&quot;(.*?)&quot;\s*#{delimiter}?\s*/) { tag_list &lt;&lt; $1; &quot;&quot; }
-        string.gsub!(/'(.*?)'\s*#{delimiter}?\s*/) { tag_list &lt;&lt; $1; &quot;&quot; }
+                
+        [
+        /\s*#{delimiter}\s*(['&quot;])(.*?)\1\s*/, 
+        /^\s*(['&quot;])(.*?)\1\s*#{delimiter}?/
+        ].each do |re|
+          string.gsub!(re) { tag_list &lt;&lt; $2; &quot;&quot; }
+        end        
         
         tag_list.add(string.split(delimiter))
       end</diff>
      <filename>plugins/acts_as_taggable_on_steroids/lib/tag_list.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>config/initializers/tag_list_delimiter.rb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>3fb91698d8359c204d3a964239f3920e2003dc98</id>
    </parent>
    <parent>
      <id>060141c61d63143d56e8ab66d9f89ffc4f0a1a28</id>
    </parent>
  </parents>
  <author>
    <name>bborn</name>
    <email>bruno.bornsztein@gmail.com</email>
  </author>
  <url>http://github.com/bborn/communityengine/commit/1563f3e8fd735d54208d42d24dc06542ccf0e0bd</url>
  <id>1563f3e8fd735d54208d42d24dc06542ccf0e0bd</id>
  <committed-date>2009-05-08T13:20:14-07:00</committed-date>
  <authored-date>2009-05-08T13:20:14-07:00</authored-date>
  <message>Merge branch 'edge' of git@github.com:bborn/communityengine into edge</message>
  <tree>463229a069037306569fdb41b96f7be06d9c3ef9</tree>
  <committer>
    <name>bborn</name>
    <email>bruno.bornsztein@gmail.com</email>
  </committer>
</commit>
