Created
August 3, 2010 17:40
-
-
Save davidray/506795 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class MeritBadgeTrackersController < ApplicationController | |
| before_filter :tab_alias | |
| before_filter :can_manage_merit_badge_records | |
| before_filter :can_manage_merit_badge_records_required, :except => [:show, :index] | |
| # before_filter :allow_scout_run | |
| before_filter :user | |
| before_filter :scout_user_required | |
| def index | |
| end | |
| def destroy | |
| mbt = @user.merit_badge_trackers.find(params[:id]) | |
| mbt.destroy | |
| @merit_badge_tracker_id = params[:id] | |
| end | |
| def new | |
| @merit_badge_tracker = @user.merit_badge_trackers.new | |
| @merit_badges = (MeritBadge.all - @user.merit_badges).map {|mb| [mb.name, mb.id]} | |
| end | |
| def create | |
| merit_badge = MeritBadge.find(params[:merit_badge_tracker][:merit_badge_id]) | |
| @merit_badge_tracker = @user.get_or_create_merit_badge_tracker_for_merit_badge(merit_badge); | |
| @merit_badge_tracker.update_attributes(params[:merit_badge_tracker]) | |
| @merit_badge_trackers = @user.merit_badge_trackers | |
| end | |
| def edit | |
| @merit_badge_tracker = @user.merit_badge_trackers.find(params[:id]) | |
| @merit_badges = (MeritBadge.all - @user.merit_badges).map {|mb| [mb.name, mb.id]} | |
| end | |
| def update | |
| @merit_badge_tracker = @user.merit_badge_trackers.find(params[:id]) | |
| unless @merit_badge_tracker.update_attributes(params[:merit_badge_tracker]) | |
| render :partial => 'edit' | |
| end | |
| end | |
| def show | |
| @merit_badge_tracker = @user.merit_badge_trackers.find(params[:id]) | |
| end | |
| def approve | |
| @merit_badge_tracker = @user.merit_badge_trackers.find(params[:id]) | |
| @merit_badge_tracker.approved_on = Date.today | |
| @merit_badge_tracker.save | |
| end | |
| private | |
| def tab_alias | |
| #DEBT This should change once the user_profile controller is finally he dead | |
| @subheader_tab = "merit_badge"; | |
| end | |
| def can_manage_merit_badge_records_required | |
| if @can_edit | |
| return true | |
| else | |
| flash[:notice] = "Sorry - you don't have permission to manage scout merit badge records" | |
| redirect_to user_dashboard_path | |
| return false | |
| end | |
| end | |
| def can_manage_merit_badge_records | |
| if @login_user.has_privilege?(MANAGE_MERIT_BADGES) | |
| @can_edit = true | |
| elsif @troop.let_scouts_edit and @login_user.is_scout? | |
| @can_edit = true | |
| else | |
| @can_edit = false | |
| end | |
| end | |
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <%= render :partial => 'merit_badge_tracker', :locals => {:merit_badge_tracker => @merit_badge_tracker} %> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment