Guest User

Untitled

a guest
Jul 23rd, 2018
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. class Admin::PatchesController < ApplicationController
  2. before_filter :require_user
  3.  
  4. before_filter :load_school
  5. def load_school
  6. @school = School.find(params[:school_id])
  7. end
  8.  
  9. before_filter :load_grade
  10. def load_grade
  11. @grade = Grade.find(params[:class_id])
  12. end
  13.  
  14. access_control do
  15. allow :admin, :accountant
  16. allow :moderator, :of => :school
  17. allow :director, :chief, :of => :school
  18. end
  19.  
  20. def index
  21. @schedule = @grade.schedule
  22. @patches = @schedule.patches
  23. end
  24.  
  25. def new
  26. @schedule = @grade.schedule
  27. @parent = @schedule.get_patch flash[:inherit] if flash[:inherit]
  28. @to_inherit = {}
  29. if @parent
  30. @parent.childs.each do |d|
  31. @to_inherit[:data] ||= []
  32. @to_inherit[:data][d.meta["day"].to_i - 1] = d.data.flatten.map { |l| l == '0' ? nil : l.to_i }
  33. end
  34. @to_inherit[:from] = @parent.meta["from"].empty? ? nil : @parent.meta["from"].to_date
  35. @to_inherit[:to] = @parent.meta["to"].empty? ? nil : @parent.meta["to"].to_date
  36. @to_inherit[:name] = @parent.name
  37. end
  38. @timeline = @school.timeline
  39. @lessons = @grade.lessons
  40. end
  41.  
  42. def create
  43. @schedule = @grade.schedule
  44. @pmeta = Patch.generate_patch_meta params
  45. @pdata = Patch.generate_patch_data params[:lesson]
  46. @schedule.patch @pdata, @pmeta
  47. redirect_back_or_default admin_school_class_patches_path(@school, @grade)
  48. end
  49.  
  50. def edit
  51. @schedule = @grade.schedule
  52. @timeline = @school.timeline
  53. @lessons = @grade.lessons
  54. @source = @schedule.get_patch(params[:id])
  55. @edited_patch = {}
  56. @source.childs.each do |d|
  57. @edited_patch[:data] ||= []
  58. @edited_patch[:data][d.meta["day"].to_i - 1] = d.data.flatten.map { |l| l == '0' ? nil : l.to_i }
  59. end
  60. @edited_patch[:from] = @source.meta["from"].empty? ? nil : @source.meta["from"].to_date
  61. @edited_patch[:to] = @source.meta["to"].empty? ? nil : @source.meta["to"].to_date
  62. @edited_patch[:name] = @source.name
  63. end
  64.  
  65. def update
  66. @schedule = @grade.schedule
  67. @pmeta = Patch.generate_patch_meta params
  68. @pdata = Patch.generate_patch_data params[:lesson]
  69. @schedule.update_patch params[:id], @pdata, @pmeta
  70. redirect_to admin_school_class_patches_path(@school, @grade)
  71. end
  72.  
  73. def destroy
  74. @schedule = @grade.schedule
  75. @schedule.delete_patch params[:id]
  76. redirect_back_or_default admin_school_class_patches_path(@school, @grade)
  77. end
  78. end
Add Comment
Please, Sign In to add comment