Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Admin::PatchesController < ApplicationController
- before_filter :require_user
- before_filter :load_school
- def load_school
- @school = School.find(params[:school_id])
- end
- before_filter :load_grade
- def load_grade
- @grade = Grade.find(params[:class_id])
- end
- access_control do
- allow :admin, :accountant
- allow :moderator, :of => :school
- allow :director, :chief, :of => :school
- end
- def index
- @schedule = @grade.schedule
- @patches = @schedule.patches
- end
- def new
- @schedule = @grade.schedule
- @parent = @schedule.get_patch flash[:inherit] if flash[:inherit]
- @to_inherit = {}
- if @parent
- @parent.childs.each do |d|
- @to_inherit[:data] ||= []
- @to_inherit[:data][d.meta["day"].to_i - 1] = d.data.flatten.map { |l| l == '0' ? nil : l.to_i }
- end
- @to_inherit[:from] = @parent.meta["from"].empty? ? nil : @parent.meta["from"].to_date
- @to_inherit[:to] = @parent.meta["to"].empty? ? nil : @parent.meta["to"].to_date
- @to_inherit[:name] = @parent.name
- end
- @timeline = @school.timeline
- @lessons = @grade.lessons
- end
- def create
- @schedule = @grade.schedule
- @pmeta = Patch.generate_patch_meta params
- @pdata = Patch.generate_patch_data params[:lesson]
- @schedule.patch @pdata, @pmeta
- redirect_back_or_default admin_school_class_patches_path(@school, @grade)
- end
- def edit
- @schedule = @grade.schedule
- @timeline = @school.timeline
- @lessons = @grade.lessons
- @source = @schedule.get_patch(params[:id])
- @edited_patch = {}
- @source.childs.each do |d|
- @edited_patch[:data] ||= []
- @edited_patch[:data][d.meta["day"].to_i - 1] = d.data.flatten.map { |l| l == '0' ? nil : l.to_i }
- end
- @edited_patch[:from] = @source.meta["from"].empty? ? nil : @source.meta["from"].to_date
- @edited_patch[:to] = @source.meta["to"].empty? ? nil : @source.meta["to"].to_date
- @edited_patch[:name] = @source.name
- end
- def update
- @schedule = @grade.schedule
- @pmeta = Patch.generate_patch_meta params
- @pdata = Patch.generate_patch_data params[:lesson]
- @schedule.update_patch params[:id], @pdata, @pmeta
- redirect_to admin_school_class_patches_path(@school, @grade)
- end
- def destroy
- @schedule = @grade.schedule
- @schedule.delete_patch params[:id]
- redirect_back_or_default admin_school_class_patches_path(@school, @grade)
- end
- end
Add Comment
Please, Sign In to add comment