changelog shortlog tags changeset manifest revisions annotate raw

vendor/plugins/restful_authentication/generators/authenticated/templates/model_controller.rb

changeset 4: 43c5e6930eee
author: moriq@moriq.com
date: Wed Mar 05 01:17:41 2008 +0900 (16 years ago)
permissions: -rw-r--r--
description: add plugin restful_authentication.
1class <%= model_controller_class_name %>Controller < ApplicationController
2 # Be sure to include AuthenticationSystem in Application Controller instead
3 include AuthenticatedSystem
4 <% if options[:stateful] %>
5 # Protect these actions behind an admin login
6 # before_filter :admin_required, :only => [:suspend, :unsuspend, :destroy, :purge]
7 before_filter :find_<%= file_name %>, :only => [:suspend, :unsuspend, :destroy, :purge]
8 <% end %>
9
10 # render new.rhtml
11 def new
12 end
13
14 def create
15 cookies.delete :auth_token
16 # protects against session fixation attacks, wreaks havoc with
17 # request forgery protection.
18 # uncomment at your own risk
19 # reset_session
20 @<%= file_name %> = <%= class_name %>.new(params[:<%= file_name %>])
21 @<%= file_name %>.<% if options[:stateful] %>register! if @<%= file_name %>.valid?<% else %>save<% end %>
22 if @<%= file_name %>.errors.empty?
23 self.current_<%= file_name %> = @<%= file_name %>
24 redirect_back_or_default('/')
25 flash[:notice] = "Thanks for signing up!"
26 else
27 render :action => 'new'
28 end
29 end
30<% if options[:include_activation] %>
31 def activate
32 self.current_<%= file_name %> = params[:activation_code].blank? ? :false : <%= class_name %>.find_by_activation_code(params[:activation_code])
33 if logged_in? && !current_<%= file_name %>.active?
34 current_<%= file_name %>.activate<% if options[:stateful] %>!<% end %>
35 flash[:notice] = "Signup complete!"
36 end
37 redirect_back_or_default('/')
38 end
39<% end %><% if options[:stateful] %>
40 def suspend
41 @<%= file_name %>.suspend!
42 redirect_to <%= table_name %>_path
43 end
44
45 def unsuspend
46 @<%= file_name %>.unsuspend!
47 redirect_to <%= table_name %>_path
48 end
49
50 def destroy
51 @<%= file_name %>.delete!
52 redirect_to <%= table_name %>_path
53 end
54
55 def purge
56 @<%= file_name %>.destroy
57 redirect_to <%= table_name %>_path
58 end
59
60protected
61 def find_<%= file_name %>
62 @<%= file_name %> = <%= class_name %>.find(params[:id])
63 end
64<% end %>
65end