orbit disable object for categories
This commit is contained in:
parent
edef51d58c
commit
c5fdff764e
|
@ -1,8 +1,6 @@
|
|||
class SessionsController < Devise::SessionsController
|
||||
prepend_before_filter :require_no_authentication, :only => [ :new, :create ]
|
||||
include Devise::Controllers::InternalHelpers
|
||||
MiddleSiteConnection.establish
|
||||
NccuLdapConnection.establish
|
||||
|
||||
# POST /resource/sign_in
|
||||
def create
|
||||
|
@ -13,6 +11,8 @@ class SessionsController < Devise::SessionsController
|
|||
result = false
|
||||
ldap_filter = "(uid=#{login_uid})"
|
||||
if /@rulingcom.com$/.match(login_uid).nil?
|
||||
MiddleSiteConnection.establish
|
||||
NccuLdapConnection.establish
|
||||
|
||||
if ($nccu_ldap_connection.bind rescue false)
|
||||
logger.info "=LDAP Binded password ok..."
|
||||
|
|
|
@ -42,4 +42,8 @@ module OrbitBackendHelper
|
|||
end
|
||||
end
|
||||
|
||||
def show_toggle_archive_btn(object)
|
||||
object.disable ? t("object_disable.change_to_false") : t("object_disable.change_to_true")
|
||||
end
|
||||
|
||||
end
|
|
@ -511,3 +511,7 @@ zh_tw:
|
|||
sys:
|
||||
not_previewable: "不支援預覽"
|
||||
limit_of_upload_file_size: "上傳檔案大小限制: %{best_size}"
|
||||
|
||||
object_disable:
|
||||
change_to_true: "設為停用"
|
||||
change_to_false: "重新啓用"
|
|
@ -0,0 +1,11 @@
|
|||
module OrbitControllerLib
|
||||
module DivisionForDisable
|
||||
def get_disable_object_by_user(object_class)
|
||||
if is_admin? or is_manager?
|
||||
object_class.admin_manager_all
|
||||
else
|
||||
object_class.all
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,4 +1,19 @@
|
|||
module OrbitCoreLib
|
||||
module ObjectDisable
|
||||
def self.included(base)
|
||||
|
||||
base.instance_eval("field :disable,type: Boolean,:default => false")
|
||||
base.instance_eval("scope :all,where(disable: false)")
|
||||
base.instance_eval("scope :admin_manager_all,find(:all)")
|
||||
base.define_singleton_method :find do |*args|
|
||||
if args ==[:all]
|
||||
unscoped
|
||||
else
|
||||
unscoped.find(args)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
module ObjectAuthable
|
||||
def self.included(base)
|
||||
base.instance_eval("has_many :object_auths,as: :obj_authable,dependent: :delete")
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
class Panel::Announcement::BackEnd::BulletinCategorysController < OrbitBackendController
|
||||
|
||||
include OrbitControllerLib::DivisionForDisable
|
||||
before_filter :for_app_manager,:except => [:index]
|
||||
|
||||
def index
|
||||
@bulletin_categorys = BulletinCategory.all
|
||||
#TODO 需要做 manager ,admin 才可以 all. 其他 available就好
|
||||
@bulletin_category = BulletinCategory.new(:display => 'List')
|
||||
|
||||
@url = panel_announcement_back_end_bulletin_categorys_path
|
||||
|
|
|
@ -39,6 +39,7 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
|
|||
# @bulletins = (params[:sort] || @filter) ? get_sorted_and_filtered_bulletins : Bulletin.all.page(params[:page]).per(10)
|
||||
@bulletins = (params[:sort] || @filter) ? get_sorted_and_filtered("bulletin") : get_viewable("bulletin")
|
||||
@bulletin_categories = BulletinCategory.all
|
||||
#TODO 需要做 manager ,admin 才可以 all. 其他 available就好
|
||||
|
||||
@bulletin_link = BulletinLink.new
|
||||
@link_url = panel_announcement_back_end_bulletins_path
|
||||
|
@ -301,6 +302,8 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
|
|||
@bulletin = Bulletin.find(params[:id])
|
||||
@type = params[:type]
|
||||
@bulletin_categories = BulletinCategory.all
|
||||
#TODO 需要做 manager ,admin 才可以 all. 其他 available就好
|
||||
|
||||
get_tags
|
||||
end
|
||||
|
||||
|
@ -328,9 +331,9 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
|
|||
@bulletin_categorys = []
|
||||
#@unit_list_for_anc = UnitListForAnc.all
|
||||
if(is_manager? || is_admin?)
|
||||
@bulletin_categorys = (id ? BulletinCategory.available.find(id).to_a : BulletinCategory.available)
|
||||
@bulletin_categorys = (id ? BulletinCategory.all.find(id).to_a : BulletinCategory.all)
|
||||
elsif is_sub_manager?
|
||||
@bulletin_categorys = BulletinCategory.available.authed_for_user(current_user,'submit')
|
||||
@bulletin_categorys = BulletinCategory.all.authed_for_user(current_user,'submit')
|
||||
end
|
||||
if @bulletin_categorys.empty? && params[:action] != "index"
|
||||
flash[:alert] = t("announcement.error.no_avilb_cate_for_posting")
|
||||
|
|
|
@ -52,7 +52,7 @@ class Panel::Announcement::Widget::BulletinsController < OrbitWidgetController
|
|||
protected
|
||||
|
||||
def get_categorys
|
||||
@bulletin_categorys = BulletinCategory.excludes('disabled' => true)
|
||||
@bulletin_categorys = BulletinCategory.all
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -13,8 +13,4 @@ include ActionView::Helpers::UrlHelper
|
|||
link_to t('announcement.bulletin.cate_auth'),admin_object_auth_ob_auth_path(oa)
|
||||
end
|
||||
|
||||
def show_toggle_archive_btn(bulletin_category)
|
||||
bulletin_category.disable ? t("bulletin_category.disable_change_to_true") : t("bulletin_category.disable_change_to_false")
|
||||
end
|
||||
|
||||
end
|
|
@ -4,6 +4,7 @@ class BulletinCategory
|
|||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
include OrbitCoreLib::ObjectAuthable
|
||||
include OrbitCoreLib::ObjectDisable
|
||||
|
||||
ObjectAuthTitlesOptions = %W{submit_new fact_check}
|
||||
AfterObjectAuthUrl = '/panel/announcement/back_end/bulletin_categorys'
|
||||
|
@ -20,15 +21,7 @@ class BulletinCategory
|
|||
|
||||
has_many :bulletins
|
||||
|
||||
scope :available,where(disable: false)
|
||||
|
||||
def self.find(*args)
|
||||
if args ==[:all]
|
||||
unscoped
|
||||
else
|
||||
unscoped.find(args)
|
||||
end
|
||||
end
|
||||
|
||||
def pp_object
|
||||
i18n_variable[I18n.locale]
|
||||
|
|
|
@ -92,7 +92,7 @@ en:
|
|||
update_success: Bulletin Category Updated
|
||||
update_failed: Bulletin Category Failed
|
||||
disable_change_to_false: Toggle to archive
|
||||
disable_change_to_true: Pu back from archive
|
||||
disable_change_to_true: Put back from archive
|
||||
# admin:
|
||||
# action: Action
|
||||
# add_language: Add language
|
||||
|
|
|
@ -181,8 +181,6 @@ zh_tw:
|
|||
delete: 刪除
|
||||
update_success: 分類更新成功
|
||||
update_failed: 分類更新失敗
|
||||
disable_change_to_false: 設為停用
|
||||
disable_change_to_true: 重新啓用
|
||||
|
||||
# Chinese (Taiwan) translations for Ruby on Rails
|
||||
# by tsechingho (http://github.com/tsechingho)
|
||||
|
|
|
@ -4,7 +4,9 @@ class Panel::News::BackEnd::NewsBulletinCategorysController < OrbitBackendContro
|
|||
|
||||
|
||||
def index
|
||||
@news_bulletin_categorys = NewsBulletinCategory.all
|
||||
@news_bulletin_categorys = get_disable_object_by_user(NewsBulletinCategory)
|
||||
#TODO 需要做 manager ,admin 才可以 all. 其他 available就好
|
||||
|
||||
@news_bulletin_category = NewsBulletinCategory.new(:display => 'List')
|
||||
|
||||
@url = panel_news_back_end_news_bulletin_categorys_path
|
||||
|
@ -108,13 +110,21 @@ class Panel::News::BackEnd::NewsBulletinCategorysController < OrbitBackendContro
|
|||
# DELETE /news_bulletins/1
|
||||
# DELETE /news_bulletins/1.xml
|
||||
def destroy
|
||||
@news_bulletin_category = NewsBulletinCategory.find(params[:id])
|
||||
@news_bulletin_category.destroy
|
||||
@news_bulletin_category = NewsBulletinCategory.find(params[:id]).first
|
||||
@news_bulletin_category.disable = @news_bulletin_category.disable ? false : true
|
||||
|
||||
if @news_bulletin_category.save!
|
||||
respond_to do |format|
|
||||
format.html { redirect_to(panel_news_back_end_news_bulletin_categorys_url) }
|
||||
flash[:notice] = t("bulletin_category.update_success")
|
||||
# flash[:error] += @bulletin_category.disable ? t("bulletin_category.disable_change_to_true") : t("bulletin_category.disable_change_to_false")
|
||||
format.html { redirect_to(panel_announcement_back_end_news_bulletin_categorys_url) }
|
||||
# format.xml { head :ok }
|
||||
format.js
|
||||
end
|
||||
else
|
||||
flash[:error] = t("bulletin_category.update_failed")
|
||||
format.html { render :action => "index" }
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -5,6 +5,7 @@ class Panel::News::BackEnd::NewsBulletinsController < OrbitBackendController
|
|||
# before_filter :for_admin_only,:only => [:]
|
||||
# before_filter :for_app_manager,:only => [:index,:show,]
|
||||
before_filter :for_app_sub_manager,:except => [:index,:show,:get_sorted_and_filtered_news_bulletins]
|
||||
before_filter :get_categorys ,:only => [ :new,:edit,:update]
|
||||
|
||||
def index
|
||||
# @news_bulletins = NewsBulletin.all
|
||||
|
@ -38,6 +39,7 @@ class Panel::News::BackEnd::NewsBulletinsController < OrbitBackendController
|
|||
# @news_bulletins = (params[:sort] || @filter) ? get_sorted_and_filtered_news_bulletins : NewsBulletin.all.page(params[:page]).per(10)
|
||||
@news_bulletins = (params[:sort] || @filter) ? get_sorted_and_filtered("news_bulletin") : get_viewable("news_bulletin")
|
||||
@news_bulletin_categories = NewsBulletinCategory.all
|
||||
#TODO 需要做 manager ,admin 才可以 all. 其他 available就好
|
||||
|
||||
@news_bulletin_link = NewsBulletinLink.new
|
||||
@link_url = panel_news_back_end_news_bulletins_path
|
||||
|
@ -82,17 +84,13 @@ class Panel::News::BackEnd::NewsBulletinsController < OrbitBackendController
|
|||
|
||||
# @news_bulletin.news_bulletin_files.build
|
||||
# @news_bulletin.news_bulletin_files.new
|
||||
if get_categorys.empty?
|
||||
flash[:alert] = t("announcement.error.no_avilb_cate_for_posting")
|
||||
redirect_to :action => :index
|
||||
else
|
||||
|
||||
get_tags
|
||||
respond_to do |format|
|
||||
format.html # new.html.erb
|
||||
format.xml { render :xml => @news_bulletin }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# GET /news_bulletins/1/edit
|
||||
def edit
|
||||
|
@ -104,7 +102,6 @@ class Panel::News::BackEnd::NewsBulletinsController < OrbitBackendController
|
|||
|
||||
@link_url = panel_news_back_end_news_bulletin_path(@news_bulletin)
|
||||
|
||||
get_categorys
|
||||
get_tags
|
||||
end
|
||||
end
|
||||
|
@ -264,7 +261,7 @@ class Panel::News::BackEnd::NewsBulletinsController < OrbitBackendController
|
|||
format.xml { head :ok }
|
||||
else
|
||||
get_tags
|
||||
get_categorys
|
||||
|
||||
format.html { render :action => "edit" }
|
||||
format.xml { render :xml => @news_bulletin.errors, :status => :unprocessable_entity }
|
||||
end
|
||||
|
@ -303,6 +300,8 @@ class Panel::News::BackEnd::NewsBulletinsController < OrbitBackendController
|
|||
@news_bulletin = NewsBulletin.find(params[:id])
|
||||
@type = params[:type]
|
||||
@news_bulletin_categories = NewsBulletinCategory.all
|
||||
#TODO 需要做 manager ,admin 才可以 all. 其他 available就好
|
||||
|
||||
get_tags
|
||||
end
|
||||
|
||||
|
@ -320,12 +319,17 @@ class Panel::News::BackEnd::NewsBulletinsController < OrbitBackendController
|
|||
@news_bulletin_categorys = []
|
||||
@unit_list_for_anc = UnitListForAnc.all
|
||||
if(is_manager? || is_admin?)
|
||||
@news_bulletin_categorys = (id ? NewsBulletinCategory.find(id).to_a : NewsBulletinCategory.excludes('disabled' => true))
|
||||
@news_bulletin_categorys = (id ? NewsBulletinCategory.find(id).to_a : NewsBulletinCategory.all)
|
||||
elsif is_sub_manager?
|
||||
@news_bulletin_categorys = NewsBulletinCategory.authed_for_user(current_user,'submit')
|
||||
@news_bulletin_categorys = NewsBulletinCategory.all.authed_for_user(current_user,'submit')
|
||||
end
|
||||
if @news_bulletin_categorys.empty? && params[:action] != "index"
|
||||
flash[:alert] = t("news.error.no_avilb_cate_for_posting")
|
||||
redirect_to :action => :index
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def get_tags
|
||||
module_app = ModuleApp.first(:conditions => {:key => 'news'})
|
||||
@tags = Tag.all(:conditions => {:module_app_id => module_app.id}).order_by(I18n.locale, :asc)
|
||||
|
|
|
@ -4,6 +4,7 @@ class NewsBulletinCategory
|
|||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
include OrbitCoreLib::ObjectAuthable
|
||||
include OrbitCoreLib::ObjectDisable
|
||||
|
||||
ObjectAuthTitlesOptions = %W{submit_new fact_check}
|
||||
AfterObjectAuthUrl = '/panel/news/back_end/news_bulletin_categorys'
|
||||
|
@ -16,8 +17,7 @@ class NewsBulletinCategory
|
|||
field :display
|
||||
|
||||
has_one :i18n_variable, :as => :language_value, :autosave => true, :dependent => :destroy
|
||||
|
||||
has_many :news_bulletins,:dependent => :destroy
|
||||
has_many :news_bulletins
|
||||
|
||||
def pp_object
|
||||
i18n_variable[I18n.locale]
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<ul class="nav nav-pills hide">
|
||||
<% if is_admin?%>
|
||||
<li><%= link_to t('bulletin_category.edit'), edit_panel_news_back_end_news_bulletin_category_path(news_bulletin_category), :remote => true %></li>
|
||||
<li><%= link_to t('bulletin_category.delete'), panel_news_back_end_news_bulletin_category_path(news_bulletin_category), :confirm => t('announcement.sure?'), :method => :delete, :remote => true %></li>
|
||||
<li><%= link_to show_toggle_archive_btn(news_bulletin_category), panel_news_back_end_news_bulletin_category_path(news_bulletin_category), :confirm => t('announcement.sure?'), :method => :delete, :remote => true,:class=>"archive_toggle" %></li>
|
||||
<% end %>
|
||||
<%if is_manager? || is_admin? %>
|
||||
<li><%= show_news_cate_permission_link(news_bulletin_category) %></li>
|
||||
|
|
|
@ -1 +1 @@
|
|||
$("#<%= dom_id @news_bulletin_category %>").remove();
|
||||
$("#<%= dom_id @news_bulletin_category %>").find(".archive_toggle").text("<%= show_toggle_archive_btn(@news_bulletin_category) %> ");
|
|
@ -75,6 +75,10 @@ zh_tw:
|
|||
fact_check: 新聞審核
|
||||
delete: 刪除
|
||||
edit: 編輯
|
||||
update_success: 分類更新成功
|
||||
update_failed: 分類更新失敗
|
||||
|
||||
|
||||
# action: 行動
|
||||
# add_language: 新增語言
|
||||
# admin: 管理
|
||||
|
|
|
@ -4,7 +4,7 @@ class WebLinkCategory
|
|||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
include OrbitCoreLib::ObjectAuthable
|
||||
|
||||
include OrbitCoreLib::ObjectDisable
|
||||
# include Mongoid::MultiParameterAttributes
|
||||
AfterObjectAuthUrl = '/panel/page_content/back_end/page_contexts'
|
||||
APP_NAME = 'web_resource'
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<div class="quick-edit">
|
||||
<ul class="nav nav-pills hide">
|
||||
<li><%= link_to t('web_resource.edit'), edit_panel_web_resource_back_end_web_link_category_path(web_link_category), :remote => true %></li>
|
||||
<li><%= link_to t('web_resource.delete'), panel_web_resource_back_end_web_link_category_path(web_link_category), :confirm => t('announcement.sure?'), :method => :delete, :remote => true %></li>
|
||||
<li><%= link_to show_toggle_archive_btn(web_link_category), panel_web_resource_back_end_web_link_category_path(web_link_category), :confirm => t('announcement.sure?'), :method => :delete, :remote => true %></li>
|
||||
<li><%= show_web_link_permission_link web_link_category %></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
Reference in New Issue