diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index cf976f6dc..3a75c1e27 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -271,7 +271,20 @@ class ProjectsController < ApplicationController end def new_homework - if User.current.logged? && (User.current.admin? || (!Member.where('user_id = ? and project_id = ?', User.current.id, @project.id).first.nil? && (Member.where('user_id = ? and project_id = ?', User.current.id, @project.id).first.roles&Role.where('id = ? or id = ?', 3, 7)).size >0)) + # Dear maintainer: + # once you are done trying to 'optimize' this Magic routine, + # well, it's on you, I'll leave it to you. + if (User.current.logged? && + (User.current.admin? || + ( + !Member.where('user_id = ? and project_id = ?', User.current.id, @project.id).first.nil? && + ( + Member.where('user_id = ? and project_id = ?', User.current.id, @project.id).first.roles && + ( Role.where(id: [3, 4, 7, 9]).size > 0 ) + ) + ) + ) + ) @homework = Bid.new @homework.safe_attributes = params[:bid] render :layout => 'base_courses' diff --git a/app/views/projects/homework.html.erb b/app/views/projects/homework.html.erb index ee61bd6a1..17c8b9efa 100644 --- a/app/views/projects/homework.html.erb +++ b/app/views/projects/homework.html.erb @@ -1,7 +1,7 @@