mirror of
https://github.com/ENSL/ensl.org.git
synced 2024-12-27 21:10:54 +00:00
Fix match admin page
This commit is contained in:
parent
1577d83fca
commit
314d47b7bf
4 changed files with 43 additions and 12 deletions
|
@ -31,4 +31,7 @@ $ ->
|
||||||
$(this).closest('form').submit()
|
$(this).closest('form').submit()
|
||||||
return false
|
return false
|
||||||
|
|
||||||
|
$('select.autosubmit').change ->
|
||||||
|
$(this).closest('form').submit()
|
||||||
|
|
||||||
$('#notification').delay(3000).fadeOut()
|
$('#notification').delay(3000).fadeOut()
|
|
@ -294,8 +294,12 @@ class Match < ActiveRecord::Base
|
||||||
def can_update? cuser, params = {}
|
def can_update? cuser, params = {}
|
||||||
return false unless cuser
|
return false unless cuser
|
||||||
return true if cuser.admin?
|
return true if cuser.admin?
|
||||||
return true if cuser.caster? and Verification.contain params, [:caster_id]
|
return true if cuser.caster? and Verification.contain params, [:caster_id] \
|
||||||
return true if cuser.ref? and !referee and Verification.contain params, [:referee_id]
|
and (params[:caster_id] && params[:caster_id].to_i == cuser.id && caster_id.blank?) \
|
||||||
|
or (params[:caster_id].blank? && caster_id == cuser.id)
|
||||||
|
return true if cuser.ref? and Verification.contain params, [:referee_id] \
|
||||||
|
and (params[:referee_id] && params[:referee_id].to_i == cuser.id && referee_id.blank?) \
|
||||||
|
or (params[:referee_id].blank? && referee_id == cuser.id)
|
||||||
return true if cuser.ref? and referee == cuser \
|
return true if cuser.ref? and referee == cuser \
|
||||||
and Verification.contain params, [:score1, :score2, :forfeit, :report, :demo_id, :motm_name, :matchers_attributes, :server_id]
|
and Verification.contain params, [:score1, :score2, :forfeit, :report, :demo_id, :motm_name, :matchers_attributes, :server_id]
|
||||||
return true if match_time.past? and !score1 and !score2 and !forfeit \
|
return true if match_time.past? and !score1 and !score2 and !forfeit \
|
||||||
|
|
|
@ -194,7 +194,7 @@ class User < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def caster?
|
def caster?
|
||||||
group.exists? :id => Group::CASTERS
|
groups.exists? :id => Group::CASTERS
|
||||||
end
|
end
|
||||||
|
|
||||||
def verified?
|
def verified?
|
||||||
|
@ -286,4 +286,12 @@ class User < ActiveRecord::Base
|
||||||
def self.search(search)
|
def self.search(search)
|
||||||
search ? where("LOWER(username) LIKE LOWER(?) OR steamid LIKE ?", "%#{search}%", "%#{search}%") : scoped
|
search ? where("LOWER(username) LIKE LOWER(?) OR steamid LIKE ?", "%#{search}%", "%#{search}%") : scoped
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def self.refadmins
|
||||||
|
Group.find(Group::REFEREES).users.order(:username) + Group.find(Group::ADMINS).users.order(:username)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.casters
|
||||||
|
Group.find(Group::CASTERS).users.order(:username)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -25,18 +25,34 @@
|
||||||
\- #{h match.score2}
|
\- #{h match.score2}
|
||||||
%td
|
%td
|
||||||
- if match.caster
|
- if match.caster
|
||||||
= namelink match.caster
|
|
||||||
- elsif match.can_update?(cuser, {:caster_id => 1})
|
|
||||||
= form_for match do |f|
|
= form_for match do |f|
|
||||||
= f.hidden_field :caster_id, {:value => cuser.id}
|
= f.hidden_field :caster_id, {:value => nil}
|
||||||
= link_to "Take!", "#form_submit"
|
= namelink match.caster
|
||||||
|
- if match.can_update?(cuser, {:caster_id => nil})
|
||||||
|
= link_to "#form_submit" do
|
||||||
|
%i.fa.fa-times
|
||||||
|
- elsif match.can_update?(cuser, {:caster_id => cuser.id})
|
||||||
|
= form_for match do |f|
|
||||||
|
- if cuser.admin?
|
||||||
|
= f.collection_select :caster_id, Group.casters, :id, :username, {:include_blank => true}, {:class => "autosubmit"}
|
||||||
|
- else
|
||||||
|
= f.hidden_field :caster_id, {:value => cuser.id}
|
||||||
|
= link_to "Take!", "#form_submit"
|
||||||
%td
|
%td
|
||||||
- if match.referee
|
- if match.referee
|
||||||
= namelink match.referee
|
|
||||||
- elsif match.can_update?(cuser, {:referee_id => 1})
|
|
||||||
= form_for match do |f|
|
= form_for match do |f|
|
||||||
= f.hidden_field :referee_id, {:value => cuser.id}
|
= f.hidden_field :referee_id, {:value => nil}
|
||||||
= link_to "Take!", "#form_submit"
|
= namelink match.referee
|
||||||
|
- if match.can_update?(cuser, {:referee_id => nil})
|
||||||
|
= link_to "#form_submit" do
|
||||||
|
%i.fa.fa-times
|
||||||
|
- elsif match.can_update?(cuser, {:referee_id => cuser.id})
|
||||||
|
= form_for match do |f|
|
||||||
|
- if cuser.admin?
|
||||||
|
= f.collection_select :referee_id, User.refadmins, :id, :username, {:include_blank => true}, {:class => "autosubmit"}
|
||||||
|
- else
|
||||||
|
= f.hidden_field :referee_id, {:value => cuser.id}
|
||||||
|
= link_to "Take!", "#form_submit"
|
||||||
%td.actions
|
%td.actions
|
||||||
- if cuser.ref? || cuser.admin?
|
- if cuser.ref? || cuser.admin?
|
||||||
= link_to "Admin", match_ref_path(match)
|
= link_to "Admin", "/matches/ref/#{match.id}"
|
Loading…
Reference in a new issue