diff --git a/app/assets/images/bulletin/AAAAAA.png b/app/assets/images/bulletin/AAAAAA.png new file mode 100644 index 0000000..772a39b Binary files /dev/null and b/app/assets/images/bulletin/AAAAAA.png differ diff --git a/app/controllers/admin/announcements_controller.rb b/app/controllers/admin/announcements_controller.rb index 9ebd14b..873eac0 100644 --- a/app/controllers/admin/announcements_controller.rb +++ b/app/controllers/admin/announcements_controller.rb @@ -32,6 +32,41 @@ class Admin::AnnouncementsController < OrbitAdminController @tags = @module_app.tags @table_fields = [:status, :category, :title, :start_date, :end_date, "announcement.comment", :last_modified] @current_user = current_user + if AnnouncementSetting.first.is_display_edit_only && !current_user.is_admin? && !current_user.is_manager?(@module_app) + current_user_is_sub_manager = !current_user.is_manager?(@module_app) && (current_user.is_sub_manager?(@module_app) || current_user.is_sub_manager_with_role?(@module_app)) rescue false + if current_user_is_sub_manager + @categories = current_user.approved_categories.select{|c| c.module_app_id == @module_app.id} rescue [] + @filter_fields = filter_fields(@categories, @tags) + @bulletins = Bulletin.where(:create_user_id=>current_user.id,:is_preview.in=>[false,nil]) + .order_by(sort) + .with_categories(filters("category")) + .with_tags(filters("tag")) + .with_status(filters("status")) + else + @bulletins = Bulletin.where(:uid=>nil) + @categories = @module_app.categories.enabled + @filter_fields = filter_fields(@categories, @tags) + end + else + @categories = @module_app.categories.enabled + @filter_fields = filter_fields(@categories, @tags) + @bulletins = Bulletin.where(:is_preview.in=>[false,nil]) + .order_by(sort) + .with_categories(filters("category")) + .with_tags(filters("tag")) + .with_status(filters("status")) + end + @bulletins = search_data(@bulletins,[:title]).page(params[:page]).per(10) + + if request.xhr? + render :partial => "index" + end + end + def get_all_anncs_without_subannc + Bulletin.remove_expired_status + @tags = @module_app.tags + @table_fields = [:category, :title, :start_date] + @current_user = current_user if AnnouncementSetting.first.is_display_edit_only && !current_user.is_admin? && !current_user.is_manager?(@module_app) current_user_is_sub_manager = !current_user.is_manager?(@module_app) && (current_user.is_sub_manager?(@module_app) || current_user.is_sub_manager_with_role?(@module_app)) rescue false if current_user_is_sub_manager @@ -56,13 +91,14 @@ class Admin::AnnouncementsController < OrbitAdminController .with_tags(filters("tag")) .with_status(filters("status")) end + @bulletins = @bulletins.where(:id.nin=>params[:subannc_ids]) if params[:subannc_ids] @bulletins = search_data(@bulletins,[:title]).page(params[:page]).per(10) - if request.xhr? - render :partial => "index" + render :partial => "get_all_anncs_without_subannc" + else + render :layout => false end end - def feed @table_feed_fields = ["announcement.feed_name",:tags , :category , "announcement.rssfeed", "announcement.jsonfeed"] @feeds = BulletinFeed.all.asc(:created_at) diff --git a/app/controllers/announcements_controller.rb b/app/controllers/announcements_controller.rb index 95e6cca..8d8b76e 100644 --- a/app/controllers/announcements_controller.rb +++ b/app/controllers/announcements_controller.rb @@ -608,11 +608,49 @@ class AnnouncementsController < ApplicationController pause_btn_title = (I18n.locale.to_s =="zh_tw") ? "暫停播放" : "pause" prev_btn_title = (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" next_btn_title = (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" + sub_anncs_text = "" + sub_annc_list = announcement.sub_annc_list + if announcement.enable_sub_annc && sub_annc_list.count != 0 + params = OrbitHelper.params + page = OrbitHelper.page rescue Page.where(:url=>params[:url]).first + page_url = page.get_url rescue page.url + sub_anncs = announcement.get_sub_annc_list + display_sub_annc_date = announcement.display_sub_annc_date + sub_anncs_text = "" + sub_anncs_text += "
#{announcement.get_sub_annc_title_trans} | + #{display_sub_annc_date ? "#{I18n.t("announcement.table.date")} | " : ''} +
---|---|
#{sub_annc.title} | #{(display_sub_annc_date ? (''+sub_annc.display_postdate+' | ') : '')}
+ | + | <%=f.object.get_sub_annc_title_trans%> | +<%=t("announcement.table.date")%> | +
---|---|---|---|
+ | <%= hidden_field_tag "#{f.object_name}[sub_annc_list][]", annc.id %> | +<%=annc.title%> | +<%=annc.display_postdate %> | +