add authorization

This commit is contained in:
manson 2014-08-01 12:24:12 +08:00
parent 53465b9831
commit 0c7b4c8761
3 changed files with 15 additions and 10 deletions

View File

@ -4,6 +4,9 @@ class Admin::LabsController < OrbitMemberController
before_action :set_plugin before_action :set_plugin
before_action :get_settings,:only => [:new, :edit, :setting] before_action :get_settings,:only => [:new, :edit, :setting]
before_action :need_access_right
before_action :allow_admin_only, :only => [:index, :setting]
def index def index
@labs = Lab.order_by(:year=>'desc').page(params[:page]).per(10) @labs = Lab.order_by(:year=>'desc').page(params[:page]).per(10)
end end
@ -17,7 +20,7 @@ class Admin::LabsController < OrbitMemberController
@member = MemberProfile.find(lab_params['member_profile_id']) rescue nil @member = MemberProfile.find(lab_params['member_profile_id']) rescue nil
@lab = Lab.new(lab_params) @lab = Lab.new(lab_params)
@lab.save @lab.save
redirect_to URI.encode('/admin/members/'+@member.to_param+'/Lab') redirect_to params['referer_url']
end end
def edit def edit
@ -30,7 +33,7 @@ class Admin::LabsController < OrbitMemberController
@lab = Lab.find(params[:id]) @lab = Lab.find(params[:id])
@lab.update_attributes(lab_params) @lab.update_attributes(lab_params)
@lab.save @lab.save
redirect_to URI.encode('/admin/members/'+@member.to_param+'/Lab') redirect_to params['referer_url']
end end
def destroy def destroy

View File

@ -205,6 +205,7 @@
<!-- Form Actions --> <!-- Form Actions -->
<div class="form-actions"> <div class="form-actions">
<%= f.hidden_field :user_id, :value => params[:user_id] if !params[:user_id].blank? %> <%= f.hidden_field :user_id, :value => params[:user_id] if !params[:user_id].blank? %>
<input type="hidden" name="referer_url" value="<%= request.referer %>">
<%= f.submit t('submit'), class: 'btn btn-primary' %> <%= f.submit t('submit'), class: 'btn btn-primary' %>
<%= link_to t('cancel'), get_go_back, :class=>"btn" %> <%= link_to t('cancel'), get_go_back, :class=>"btn" %>
</div> </div>

View File

@ -6,15 +6,14 @@
<% end %> <% end %>
<% <%
is_autorized_user = (current_user==@member.user || current_user.is_admin?) if has_access?
if is_autorized_user
@labs = Lab.where(member_profile_id: @member.id).desc(:year).page(params[:page]).per(10) @labs = Lab.where(member_profile_id: @member.id).desc(:year).page(params[:page]).per(10)
else else
@labs = Lab.where(is_hidden: false, member_profile_id: @member.id).desc(:year).page(params[:page]).per(10) @labs = Lab.where(is_hidden: false, member_profile_id: @member.id).desc(:year).page(params[:page]).per(10)
end end
%> %>
<% if is_autorized_user %> <% if has_access? %>
<div class="list-active"> <div class="list-active">
<div class="btn-group"> <div class="btn-group">
<%= link_to('Hide', '#', :class => "btn btn-mini list-active-btn disabled", "data-check-action" => "list-be-hide", :rel => toggle_hide_admin_labs_path(member_profile_id: params[:id], disable: 'true') ) %> <%= link_to('Hide', '#', :class => "btn btn-mini list-active-btn disabled", "data-check-action" => "list-be-hide", :rel => toggle_hide_admin_labs_path(member_profile_id: params[:id], disable: 'true') ) %>
@ -26,7 +25,7 @@
<table class="table table-condensed table-striped main-list"> <table class="table table-condensed table-striped main-list">
<thead> <thead>
<tr> <tr>
<% if is_autorized_user %> <% if has_access? %>
<th><input type="checkbox" /></th> <th><input type="checkbox" /></th>
<% end -%> <% end -%>
<th class="span2"><%= t('personal_lab.year') %></th> <th class="span2"><%= t('personal_lab.year') %></th>
@ -37,7 +36,7 @@
<tbody> <tbody>
<% @labs.each do |lab| %> <% @labs.each do |lab| %>
<tr id="<%= dom_id lab %>" class="<%= lab.is_hidden ? "checkHide" : "" %>"> <tr id="<%= dom_id lab %>" class="<%= lab.is_hidden ? "checkHide" : "" %>">
<% if is_autorized_user %> <% if has_access? %>
<td> <td>
<%= check_box_tag 'to_change[]', lab.id.to_s, false, :class => "list-check" %> <%= check_box_tag 'to_change[]', lab.id.to_s, false, :class => "list-check" %>
</td> </td>
@ -47,8 +46,10 @@
<%= link_to lab.lab_title, OrbitHelper.url_to_plugin_show(lab.to_param,'personal_lab'), target: "blank"%> <%= link_to lab.lab_title, OrbitHelper.url_to_plugin_show(lab.to_param,'personal_lab'), target: "blank"%>
<div class="quick-edit"> <div class="quick-edit">
<ul class="nav nav-pills hide"> <ul class="nav nav-pills hide">
<% if has_access? %>
<li><%= link_to t('edit'), '/admin/members/'+@member.to_param+'/labs/'+lab.id+'/edit' %></li> <li><%= link_to t('edit'), '/admin/members/'+@member.to_param+'/labs/'+lab.id+'/edit' %></li>
<li><%= link_to t(:delete_), admin_lab_path(id: lab.id, member_profile_id: @member.id), method: :delete, remote: true, data: { confirm: t('sure?') } %></li> <li><%= link_to t(:delete_), admin_lab_path(id: lab.id, member_profile_id: @member.id), method: :delete, remote: true, data: { confirm: t('sure?') } %></li>
<% end %>
</ul> </ul>
</div> </div>
</td> </td>
@ -60,7 +61,7 @@
<div class="bottomnav clearfix"> <div class="bottomnav clearfix">
<% if is_autorized_user %> <% if has_access? %>
<div class="action pull-right"> <div class="action pull-right">
<%= link_to content_tag(:i, nil, :class => 'icon-edit') +' '+ t('setting'),'/admin/members/'+@member.to_param+'/labs/frontend_setting', :class => 'btn btn-primary' %> <%= link_to content_tag(:i, nil, :class => 'icon-edit') +' '+ t('setting'),'/admin/members/'+@member.to_param+'/labs/frontend_setting', :class => 'btn btn-primary' %>
<%= link_to content_tag(:i, nil, :class => 'icon-plus') +' '+ t('new_'), <%= link_to content_tag(:i, nil, :class => 'icon-plus') +' '+ t('new_'),