##// END OF EJS Templates
Account information can now be sent to the user when creating an account....
Account information can now be sent to the user when creating an account. ActionMailer logger set to nil for production environment to disable email contents output in production.log git-svn-id: http://redmine.rubyforge.org/svn/trunk@546 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r431:183ede84fd80
r543:f04225321c3e
Show More
roles_controller.rb
115 lines | 3.7 KiB | text/x-ruby | RubyLexer
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 # redMine - project management software
# Copyright (C) 2006 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
class RolesController < ApplicationController
layout 'base'
before_filter :require_admin
verify :method => :post, :only => [ :destroy, :move ],
:redirect_to => { :action => :list }
Jean-Philippe Lang
indentation corrections...
r198
Jean-Philippe Lang
Initial commit...
r2 def index
list
Jean-Philippe Lang
ajaxified paginators...
r31 render :action => 'list' unless request.xhr?
Jean-Philippe Lang
Initial commit...
r2 end
def list
Jean-Philippe Lang
Various changes on views. On project summary, members are now grouped by role and subprojects are listed inline....
r431 @role_pages, @roles = paginate :roles, :per_page => 25, :order => "position"
Jean-Philippe Lang
ajaxified paginators...
r31 render :action => "list", :layout => false if request.xhr?
Jean-Philippe Lang
Initial commit...
r2 end
def new
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 @role = Role.new(params[:role])
Jean-Philippe Lang
Initial commit...
r2 if request.post?
Jean-Philippe Lang
replaced deprecated controller instance variables: @params, @session, @request...
r124 @role.permissions = Permission.find(params[:permission_ids]) if params[:permission_ids]
Jean-Philippe Lang
Initial commit...
r2 if @role.save
Jean-Philippe Lang
notice messages translation...
r15 flash[:notice] = l(:notice_successful_create)
Jean-Philippe Lang
Initial commit...
r2 redirect_to :action => 'list'
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Jean-Philippe Lang
Initial commit...
r2 end
Jean-Philippe Lang
Localization plugin removed (replaced with GLoc)...
r12 @permissions = Permission.find(:all, :conditions => ["is_public=?", false], :order => 'sort ASC')
Jean-Philippe Lang
Initial commit...
r2 end
def edit
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 @role = Role.find(params[:id])
Jean-Philippe Lang
Initial commit...
r2 if request.post? and @role.update_attributes(params[:role])
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 @role.permissions = Permission.find(params[:permission_ids] || [])
Jean-Philippe Lang
Initial commit...
r2 Permission.allowed_to_role_expired
Jean-Philippe Lang
notice messages translation...
r15 flash[:notice] = l(:notice_successful_update)
Jean-Philippe Lang
Initial commit...
r2 redirect_to :action => 'list'
end
Jean-Philippe Lang
Localization plugin removed (replaced with GLoc)...
r12 @permissions = Permission.find(:all, :conditions => ["is_public=?", false], :order => 'sort ASC')
Jean-Philippe Lang
Initial commit...
r2 end
def destroy
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 @role = Role.find(params[:id])
unless @role.members.empty?
flash[:notice] = 'Some members have this role. Can\'t delete it.'
else
@role.destroy
Jean-Philippe Lang
Initial commit...
r2 end
redirect_to :action => 'list'
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
def move
@role = Role.find(params[:id])
case params[:position]
when 'highest'
@role.move_to_top
when 'higher'
@role.move_higher
when 'lower'
@role.move_lower
when 'lowest'
@role.move_to_bottom
end if params[:position]
redirect_to :action => 'list'
end
def workflow
@role = Role.find_by_id(params[:role_id])
@tracker = Tracker.find_by_id(params[:tracker_id])
if request.post?
Workflow.destroy_all( ["role_id=? and tracker_id=?", @role.id, @tracker.id])
(params[:issue_status] || []).each { |old, news|
news.each { |new|
@role.workflows.build(:tracker_id => @tracker.id, :old_status_id => old, :new_status_id => new)
}
}
if @role.save
flash[:notice] = l(:notice_successful_update)
end
end
@roles = Role.find(:all, :order => 'position')
@trackers = Tracker.find(:all, :order => 'position')
@statuses = IssueStatus.find(:all, :include => :workflows, :order => 'position')
Jean-Philippe Lang
Initial commit...
r2 end
Jean-Philippe Lang
Added permissions report (link available on roles list view)....
r430
def report
Jean-Philippe Lang
Various changes on views. On project summary, members are now grouped by role and subprojects are listed inline....
r431 @roles = Role.find(:all, :order => 'position')
Jean-Philippe Lang
Added permissions report (link available on roles list view)....
r430 @permissions = Permission.find :all, :conditions => ["is_public=?", false], :order => 'sort'
if request.post?
@roles.each do |role|
role.permissions = Permission.find(params[:permission_ids] ? (params[:permission_ids][role.id.to_s] || []) : [] )
end
Permission.allowed_to_role_expired
flash[:notice] = l(:notice_successful_update)
redirect_to :action => 'list'
end
end
Jean-Philippe Lang
Initial commit...
r2 end