<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>app/controllers/admin/members/register_controller.rb</filename>
    </added>
    <added>
      <filename>app/helpers/admin/members/register_helper.rb</filename>
    </added>
    <added>
      <filename>app/views/admin/members/.DS_Store</filename>
    </added>
    <added>
      <filename>app/views/admin/members/profile/edit.html.erb</filename>
    </added>
    <added>
      <filename>app/views/admin/members/profile/index.html.erb</filename>
    </added>
    <added>
      <filename>app/views/admin/members/register/index.html.haml</filename>
    </added>
    <added>
      <filename>app/views/admin/members/register/new.html.erb</filename>
    </added>
    <added>
      <filename>public/images/profile.png</filename>
    </added>
    <added>
      <filename>spec/controllers/admin/members/register_controller_spec.rb</filename>
    </added>
    <added>
      <filename>spec/helpers/admin/members/register_helper_spec.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/file_column</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,30 +1,31 @@
-class Admin::Members::ProfileController &lt; ApplicationController
+class Admin::Members::ProfileController &lt;  Admin::AbstractModelController
+  model_class User
+
+  login_required
+ 
       
   def index
-    @current_user = current_user
+    @sidebar_text = ''
+    @user = current_user
     snippet = Snippet.find_by_name 'profile_sidebar'
     if snippet
       #TODO a bit a hack here to render the snippet in the context
       #     of the first page.  Is there a better way to render a snippet like this?
       p = Page.find(:all).first
-      @sidebar_text = p.render_snippet snippet
+      @sidebar_text = p.render_snippet snippet if p
     end
   end
   
   def edit
-    if params[:user][:password] != nil &amp;&amp; params[:user][:password].size &gt; 0
-      current_user.update_attributes(params[:user])      
-    end
-    if params[:person][:id].size &gt; 0
-      person = Person.find(params[:person][:id])
-      person.update_attributes(params[:person])
-    else
-      person = Person.new(params[:person])
-      person.user = current_user
-      current_user.person = person      
-    end    
-    person.save!
-    redirect_to :action =&gt; 'index'
+  # let's only allow editing the current user...
+  # self.model = model_class.find_by_id(params[:user][:id])
+    self.model = current_user
+    handle_new_or_edit_post
   end  
   
+  def continue_url(options)
+    return { :controller =&gt; 'admin/members/profile', :action =&gt; 'index' }
+  end
+
+  
 end</diff>
      <filename>app/controllers/admin/members/profile_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 # Uncomment this if you reference any of your controllers in activate
-# require_dependency 'application'
+require_dependency 'application'
 
 class MembersExtension &lt; Radiant::Extension
   version &quot;1.0&quot;
@@ -7,16 +7,57 @@ class MembersExtension &lt; Radiant::Extension
   url &quot;http://cubiclemuses.com/cm&quot;
   
   define_routes do |map|
-     map.connect 'admin/members/profile/:action', :controller =&gt; 'admin/members/profile'
+     map.connect 'admin/members/register/:action', :controller =&gt; 'admin/members/register'        
+     map.connect 'admin/members/:action', :controller =&gt; 'admin/members/profile'
   end
   
   def activate
-    admin.tabs.add &quot;Profile&quot;, &quot;/admin/members/profile&quot;, :after =&gt; &quot;Layouts&quot;, :visibility =&gt; [:all]
+    admin.tabs.add &quot;Profile&quot;, &quot;/admin/members/&quot;, :after =&gt; &quot;Layouts&quot;, :visibility =&gt; [:all]
     
-    User.class_eval { 
+    User.class_eval do
       file_column :photo, :magick =&gt; { :geometry =&gt; &quot;80x80&gt;&quot; }   
-    }
+      validates_presence_of :email, :message =&gt; 'required'      
+    end
 
+    Radiant::AdminUI::Tab.class_eval do
+
+      alias_method :initialize_less_securely, :initialize unless method_defined?(:initialize_more_securely)
+      
+      def initialize_more_securely(name, url, options = {})
+        @name, @url = name, url
+        @visibility = [options[:for], options[:visibility]].flatten.compact
+        @visibility = [:developer,:admin] if @visibility.empty?
+      end      
+      
+      alias_method :initialize, :initialize_more_securely      
+      
+    end
+    
+    Admin::PageController.class_eval do 
+      only_allow_access_to :index, :new, :edit, :remove,
+        :when =&gt; [:developer, :admin],
+        :denied_url =&gt; { :controller =&gt; 'welcome', :action =&gt; 'index' },
+        :denied_message =&gt; 'You must have developer privileges to perform this action.'        
+    end
+    
+    Admin::SnippetController.class_eval do 
+      only_allow_access_to :index, :new, :edit, :remove,
+        :when =&gt; [:developer, :admin],
+        :denied_url =&gt; { :controller =&gt; 'welcome', :action =&gt; 'index' },
+        :denied_message =&gt; 'You must have developer privileges to perform this action.'        
+    end    
+    
+    Admin::WelcomeController.class_eval do 
+      alias_method :index_to_page, :index unless method_defined?(:index_to_profile)
+      
+      def index_to_profile
+        redirect_to :controller =&gt; 'admin/members/profile', :action =&gt; 'index'
+      end
+      
+      alias_method :index, :index_to_profile      
+    end    
+    
+    
   end
   
   def deactivate</diff>
      <filename>members_extension.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>65f96455a7ea21b3a378a6fdb641056d9c67a687</id>
    </parent>
  </parents>
  <author>
    <name>J Aaron Farr</name>
    <email>farra@apache.org</email>
  </author>
  <url>http://github.com/farra/radiant-members-extension/commit/73f811a3e73f74d6fe65f929939dd310ba5e0aeb</url>
  <id>73f811a3e73f74d6fe65f929939dd310ba5e0aeb</id>
  <committed-date>2008-09-16T03:37:02-07:00</committed-date>
  <authored-date>2008-09-16T03:37:02-07:00</authored-date>
  <message>initial version</message>
  <tree>6bcbae3026a869c14090f4ad026955adec153911</tree>
  <committer>
    <name>J Aaron Farr</name>
    <email>farra@apache.org</email>
  </committer>
</commit>
