diff --git a/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/approvals_controller.rb b/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/approvals_controller.rb
index 566b07426..9f63a8ab8 100644
--- a/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/approvals_controller.rb
+++ b/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/approvals_controller.rb
@@ -7,9 +7,9 @@ class Panel::Announcement::BackEnd::ApprovalsController < OrbitBackendControlle
@bulletin = Bulletin.find params[:bulletin_id]
end
- def approve
-
- end
+ # def approve
+ #
+ # end
def setting
@bulletin_categorys = BulletinCategory.all
@@ -39,41 +39,7 @@ class Panel::Announcement::BackEnd::ApprovalsController < OrbitBackendControlle
def user_list
@bulletin_category = BulletinCategory.find params[:category][:id]
end
- # def index
- # get_categorys(params[:bulletin_category_id])
- #
- # @bulletins = params[:sort] ? get_sorted_bulletins : Bulletin.all
- # @bulletin_categories = BulletinCategory.all
- #
- # module_app = ModuleApp.first(:conditions => {:key => 'announcement'})
- # @tags = Tag.all(:conditions => {:module_app_id => module_app.id}).order_by(I18n.locale, :asc)
- #
- # respond_to do |format|
- # format.html # index.html.erb
- # format.js
- # format.xml { render :xml => @bulletins }
- # end
- # end
- #
- # def new
- #
- # end
- #
- # def create
- #
- # end
- #
- # def update
- #
- # end
- #
- # def edit
- #
- # end
- #
- # def destroy
- #
- # end
+
protected
def update_setting_by_params
category = BulletinCategory.find params[:category][:id]
diff --git a/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/bulletin_category_setting_controller.rb b/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/bulletin_category_setting_controller.rb
new file mode 100644
index 000000000..4be5f6bc8
--- /dev/null
+++ b/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/bulletin_category_setting_controller.rb
@@ -0,0 +1,63 @@
+class Panel::Announcement::BackEnd::BulletinCategorySettingController < OrbitBackendController
+ before_filter :authenticate_user!
+ before_filter :for_app_manager
+ include AdminHelper
+ # layout 'admin'
+ def preview_and_approve
+ @bulletin = Bulletin.find params[:bulletin_id]
+ end
+
+ # def approve
+ #
+ # end
+
+ def setting
+ @bulletin_categorys = []
+ @bulletin_categorys << BulletinCategory.find(params[:bulletin_category_id])
+ @options_from_collection_for_select_bulletin_categorys = @bulletin_categorys.collect{|bc| [bc.i18n_variable[I18n.locale],bc.id] }
+ if params.has_key? :category
+ @bulletin_category = BulletinCategory.find params[:category][:id]
+ else
+ @bulletin_category = @bulletin_categorys.first
+ end
+ preload_object_auth = @bulletin_category.object_auths.where(title: 'submit').empty?? (@bulletin_category.object_auths.create! :title=> 'submit') : @bulletin_category.object_auths.where(title: 'submit')
+ @users_array = preload_object_auth.first.privilege_users rescue []
+ respond_to do |format|
+ format.html
+ format.js
+ end
+ end
+
+ def update_setting
+ object_auth = update_setting_by_params
+ if object_auth.save!
+ flash[:notice] = "Update Done"
+ else
+ flash[:notice] = "Update Failed"
+ end
+ end
+
+ def user_list
+ @bulletin_category = BulletinCategory.find params[:category][:id]
+ end
+
+ protected
+ def update_setting_by_params
+ category = BulletinCategory.find params[:category][:id]
+ privilege_users = params[:users].collect{|key,value| User.find key } rescue []
+ object_auth_ary = category.object_auths.where(title: 'submit') || (category.object_auths.create :title=> 'submit')
+ object_auth = object_auth_ary.first
+ object_auth.privilege_users = privilege_users
+ object_auth
+ end
+
+ def get_categorys(id = nil)
+ @bulletin_categorys = []
+ if(is_manager? || is_admin?)
+ @bulletin_categorys = (id ? BulletinCategory.find(id).to_a : BulletinCategory.excludes('disabled' => true))
+ elsif is_sub_manager?
+ @bulletin_categorys = BulletinCategory.authed_for_user(current_user,'submit_new')
+ end
+ end
+
+end
diff --git a/vendor/built_in_modules/announcement/app/helpers/panel/announcement/back_end/bulletin_categorys_helper.rb b/vendor/built_in_modules/announcement/app/helpers/panel/announcement/back_end/bulletin_categorys_helper.rb
index 27dbe8f04..96e09e61d 100644
--- a/vendor/built_in_modules/announcement/app/helpers/panel/announcement/back_end/bulletin_categorys_helper.rb
+++ b/vendor/built_in_modules/announcement/app/helpers/panel/announcement/back_end/bulletin_categorys_helper.rb
@@ -2,13 +2,15 @@ module Panel::Announcement::BackEnd::BulletinCategorysHelper
include ActionView::Helpers::UrlHelper
- def show_submit_permission_link(bulletin_category)
- oa = bulletin_category.get_object_auth_by_title('submit')
+ def show_permission_link(bulletin_category)
+ type = 'submit'
+ oa = bulletin_category.get_object_auth_by_title(type)
if oa.nil?
- bulletin_category.object_auths.new(title: 'submit' ).save
- oa = bulletin_category.get_object_auth_by_title('submit')
+ bulletin_category.object_auths.new(title: type ).save
+ oa = bulletin_category.get_object_auth_by_title(type)
end
- link_to t('announcement.bulletin.cate_auth'), edit_admin_object_auth_path(oa)
+# link_to t('announcement.bulletin.cate_auth'), edit_admin_object_auth_path(oa)
+ link_to t('announcement.bulletin.cate_auth'),panel_announcement_back_end_bulletin_category_setting_path(bulletin_category)
end
end
\ No newline at end of file
diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_category_setting/_modal_list.html.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_category_setting/_modal_list.html.erb
new file mode 100644
index 000000000..a73fdab27
--- /dev/null
+++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_category_setting/_modal_list.html.erb
@@ -0,0 +1,44 @@
+<% if bulletin_category -%>
+
+
+
+
+
+ <% bulletin_category.get_object_auth_by_title('submit').auth_users.each do |user| %>
+
+
+ <% if user.avatar? %>
+ <%= image_tag(user.avatar.thumb.url,:class => "member-img") %>
+ <% else %>
+ <%= image_tag "person.png",:class => "member-img" %>
+ <% end %>
+
+ <%= label_tag "lab-user-#{user.id}", (user.name rescue ''),:class=>"member-name",:id=>nil -%>
+
+ <% end -%>
+
+
+
+
+
+
+
+
+
+
+
+<% end -%>
\ No newline at end of file
diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_category_setting/_privilege_user.html.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_category_setting/_privilege_user.html.erb
new file mode 100644
index 000000000..c36941dea
--- /dev/null
+++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_category_setting/_privilege_user.html.erb
@@ -0,0 +1,26 @@
+<%= content_tag :div ,:id => "users_checkbox_ary",:class => 'clear' do -%>
+<% sys_users = User.all -%>
+ <% sys_users.each do |sys_user| -%>
+
+
+
+ <% sys_user.sub_roles.each do |sr| %>
+
<%= sr.key %>
+ <% end %>
+ <%= content_tag :div,:data=>{'original-title'=>t('announcement.bulletin.approval_setting_window_title'),:content => "#{sys_user.sub_roles.collect{|sr| sr.i18n_variable[I18n.locale]}.join(',')}"},:class=>"checkbox clear" do %>
+
+
+
+ <% if sys_user.avatar? %>
+ <%= image_tag(sys_user.avatar.thumb.url,:class => "member-img") %>
+ <% else %>
+ <%= image_tag "person.png",:class => "member-img" %>
+ <% end %>
+
+ <%= label_tag "lab-user-#{sys_user.id}", (sys_user.name rescue ''),:class=>"member-name",:id=>nil -%>
+ <%= check_box_tag "[users][#{sys_user.id}]", 'true',users.include?(sys_user),:class => "check" -%>
+ <%end -%>
+
+
+ <% end -%>
+<% end -%>
\ No newline at end of file
diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_category_setting/setting.html.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_category_setting/setting.html.erb
new file mode 100644
index 000000000..d20bfc278
--- /dev/null
+++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_category_setting/setting.html.erb
@@ -0,0 +1,56 @@
+<% content_for :page_specific_css do %>
+ <%= stylesheet_link_tag "inc/permission-checkbox" %>
+<% end %>
+<% content_for :page_specific_javascript do %>
+ <%= javascript_include_tag "inc/permission-checkbox" %>
+ <%= javascript_include_tag "inc/search" %>
+ <%= javascript_include_tag "inc/modal-preview" %>
+<% end %>
+<%#= label_tag :fact_check_setting, t("announcement.bulletin.fact_check_setting") %>
+<%= form_tag('', :remote => true,:class => "prevent_enter_submit_form") %>
+
+
+ -
+
+ <%= label_tag :category, t("announcement.bulletin.category") %>
+ <%= select "category",'id',@options_from_collection_for_select_bulletin_categorys %>
+ <%= search_field_tag 'user_filter' %>
+
+
+
+
+ <%= link_to t("announcement.bulletin.approval_user_list"), panel_announcement_back_end_bulletin_category_user_list_path , :class=>'preview_trigger btn btn-success pull-right'%>
+
+
+<%#= label_tag :role, t("admin.roles") %>
+
+<%= content_tag :div do -%>
+ <% form_tag panel_announcement_back_end_approval_setting_path do %>
+ <%= render :partial => "privilege_user", :locals => {:users => @users_array} %>
+
+ <% end -%>
+<% end -%>
+
+
+
\ No newline at end of file
diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_category_setting/setting.js.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_category_setting/setting.js.erb
new file mode 100644
index 000000000..0ca148da1
--- /dev/null
+++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_category_setting/setting.js.erb
@@ -0,0 +1,2 @@
+$("#users_checkbox_ary").replaceWith('<%= escape_javascript(render :partial => "privilege_user", :locals => {:users => @users_array})%>');
+permissionCheckbox();
\ No newline at end of file
diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_category_setting/update_setting.js.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_category_setting/update_setting.js.erb
new file mode 100644
index 000000000..7486000a2
--- /dev/null
+++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_category_setting/update_setting.js.erb
@@ -0,0 +1 @@
+alert( "<% flash.each do |key, msg| %><%= msg %><% end%>");
\ No newline at end of file
diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_category_setting/user_list.js.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_category_setting/user_list.js.erb
new file mode 100644
index 000000000..4c8bf25d3
--- /dev/null
+++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_category_setting/user_list.js.erb
@@ -0,0 +1,2 @@
+$('#show_preview').html("<%= escape_javascript(render(:partial => 'modal_list',:locals => {:bulletin_category => @bulletin_category})) %>");
+var start_modal_with_id = "bulletin_category-<%=@bulletin_category.id%>"
\ No newline at end of file
diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_categorys/_bulletin_category.html.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_categorys/_bulletin_category.html.erb
index 8ad4578ea..250aabc8c 100644
--- a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_categorys/_bulletin_category.html.erb
+++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletin_categorys/_bulletin_category.html.erb
@@ -5,7 +5,7 @@
<%if is_manager? || is_admin? %>
- - <%= show_submit_permission_link(bulletin_category) %>
+ - <%= show_permission_link(bulletin_category) %>
<% end %>
<% if is_admin?%>
- <%= link_to t('bulletin_category.edit'), edit_panel_announcement_back_end_bulletin_category_path(bulletin_category), :remote => true %>
diff --git a/vendor/built_in_modules/announcement/config/routes.rb b/vendor/built_in_modules/announcement/config/routes.rb
index 396ea8e47..c6a406b00 100644
--- a/vendor/built_in_modules/announcement/config/routes.rb
+++ b/vendor/built_in_modules/announcement/config/routes.rb
@@ -21,7 +21,11 @@ Rails.application.routes.draw do
match "file_quick_edit/:bulletin_id" => "bulletins#file_quick_edit" ,:as => :file_quick_edit
end
- resources :bulletin_categorys
+ resources :bulletin_categorys do
+ match 'submit_setting' => "bulletin_category_setting#setting" ,:as => :setting,:via => :get
+ match 'submit_setting' => "bulletin_category_setting#update_setting" ,:as => :setting,:via => :post
+ match 'submit_setting' => "bulletin_category_setting#user_list" ,:as => :user_list,:via => :put
+ end
resources :bulletin_links, :controller => 'bulletin_links' do
match "link_quick_edit/:bulletin_link_id" => "bulletin_links#link_quick_edit" ,:as => :link_quick_edit