add authorization

This commit is contained in:
manson 2014-08-01 12:23:18 +08:00
parent a5b271afe3
commit 48eb11cca9
4 changed files with 18 additions and 11 deletions

View File

@ -1,4 +1,6 @@
class Admin::ExperienceTypesController < OrbitAdminController class Admin::ExperienceTypesController < OrbitMemberController
before_action :allow_admin_only
def new def new
@experience_type = ExperienceType.new @experience_type = ExperienceType.new
@url = admin_experience_types_path(@experience_type) @url = admin_experience_types_path(@experience_type)

View File

@ -4,6 +4,9 @@ class Admin::ExperiencesController < 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
@experiences = Experience.order_by(:end_date=>'desc',:start_date=>'desc').page(params[:page]).per(10) @experiences = Experience.order_by(:end_date=>'desc',:start_date=>'desc').page(params[:page]).per(10)
end end
@ -17,7 +20,7 @@ class Admin::ExperiencesController < OrbitMemberController
@member = MemberProfile.find(experience_params['member_profile_id']) rescue nil @member = MemberProfile.find(experience_params['member_profile_id']) rescue nil
@experience = Experience.new(experience_params) @experience = Experience.new(experience_params)
@experience.save @experience.save
redirect_to URI.encode('/admin/members/'+@member.to_param+'/Experience') redirect_to params['referer_url']
end end
def edit def edit
@ -30,7 +33,7 @@ class Admin::ExperiencesController < OrbitMemberController
@experience = Experience.find(params[:id]) @experience = Experience.find(params[:id])
@experience.update_attributes(experience_params) @experience.update_attributes(experience_params)
@experience.save @experience.save
redirect_to URI.encode('/admin/members/'+@member.to_param+'/Experience') redirect_to params['referer_url']
end end
def destroy def destroy

View File

@ -173,6 +173,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
@experiences = Experience.where(member_profile_id: @member.id).desc(:year).page(params[:page]).per(10) @experiences = Experience.where(member_profile_id: @member.id).desc(:year).page(params[:page]).per(10)
else else
@experiences = Experience.where(is_hidden: false, member_profile_id: @member.id).desc(:year).page(params[:page]).per(10) @experiences = Experience.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_experiences_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_experiences_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="span3"><%= t('date_') %></th> <th class="span3"><%= t('date_') %></th>
@ -38,7 +37,7 @@
<tbody> <tbody>
<% @experiences.each do |experience| %> <% @experiences.each do |experience| %>
<tr id="<%= dom_id experience %>" class="<%= experience.is_hidden ? "checkHide" : "" %>"> <tr id="<%= dom_id experience %>" class="<%= experience.is_hidden ? "checkHide" : "" %>">
<% if is_autorized_user %> <% if has_access? %>
<td> <td>
<%= check_box_tag 'to_change[]', experience.id.to_s, false, :class => "list-check" %> <%= check_box_tag 'to_change[]', experience.id.to_s, false, :class => "list-check" %>
</td> </td>
@ -48,8 +47,10 @@
<%= link_to experience.organizationt_title, OrbitHelper.url_to_plugin_show(experience.to_param,'personal_experience'), target: "blank"%> <%= link_to experience.organizationt_title, OrbitHelper.url_to_plugin_show(experience.to_param,'personal_experience'), target: "blank"%>
<div class="quick-edit"> <div class="quick-edit">
<ul class="nav nav-pills hide"> <ul class="nav nav-pills hide">
<li><%= link_to t('edit'), '/admin/members/'+@member.to_param+'/experiences/'+experience.id+'/edit' %></li> <% if has_access? %>
<li><%= link_to t(:delete_), admin_experience_path(id: experience.id, member_profile_id: @member.id), method: :delete, remote: true, data: { confirm: t('sure?') } %></li> <li><%= link_to t('edit'), '/admin/members/'+@member.to_param+'/experiences/'+experience.id+'/edit' %></li>
<li><%= link_to t(:delete_), admin_experience_path(id: experience.id, member_profile_id: @member.id), method: :delete, remote: true, data: { confirm: t('sure?') } %></li>
<% end %>
</ul> </ul>
</div> </div>
</td> </td>
@ -62,7 +63,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+'/experiences/frontend_setting', :class => 'btn btn-primary' %> <%= link_to content_tag(:i, nil, :class => 'icon-edit') +' '+ t('setting'),'/admin/members/'+@member.to_param+'/experiences/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_'),