New UI changes(tags, categories, authorisations, module index…)
To run: - ruby lib/remove_old_tags.rb DB_NAME - rake new_ui:migrate_tags - rake new_ui:migrate_categories['APP_KEY,''MODEL_NAME'] (check new_ui.rake for more details)
This commit is contained in:
1 parent
07b3857465
commit
856898016b
1495 files changed
+52132
-9876
No files matched your search
+2
@@ -10,6 +10,8 @@ module AdBanner
|
||||
intro "I am intro"
|
||||
update_info 'some update_info'
|
||||
|
||||
authorizable
|
||||
|
||||
# front_end do
|
||||
# app_page 'bulletins'
|
||||
# end
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
{
|
||||
"app_pages":["bulletins"],
|
||||
"author":"RD dep",
|
||||
"create_date":"11-11-2011",
|
||||
"enable_frontend":true,
|
||||
"get_default_widget":{"query":"Bulletin.all","image":"image"},
|
||||
"intro":"A simple blog",
|
||||
"key":"announcement",
|
||||
"organization":"Rulingcom",
|
||||
"title":"Announcement",
|
||||
"update_info":"Some info",
|
||||
"version":"0.1",
|
||||
"widget_fields":[["title","announcement.default_widget.title"],
|
||||
["bulletin_category_with_title","announcement.default_widget.bulletin_category_with_title"],
|
||||
["postdate","announcement.default_widget.postdate"]],
|
||||
"widget_fields_link_method":{"title":{"method":"panel_announcement_front_end_bulletin_path","args":"self"},
|
||||
"bulletin_category_with_title":{"method":"panel_announcement_front_end_bulletins_path",
|
||||
"args":{"category_id":["bulletin_category","id"]}
|
||||
}},
|
||||
"widget_options":null,
|
||||
"widget_options_fields_i18n":null,
|
||||
"widgets":{"index":["1","2"],
|
||||
"default_widget":["typeA","typeC","typeB_style2","typeB_style3","typeB_style4"]
|
||||
}}
|
||||
-8
@@ -62,12 +62,4 @@ class Panel::Announcement::BackEnd::ApprovalsController < OrbitBackendControlle
|
||||
object_auth
|
||||
end
|
||||
|
||||
# def get_categorys(id = nil)
|
||||
# @bulletin_categorys = []
|
||||
# if(is_manager? || is_admin?)
|
||||
# @bulletin_categorys = (id ? BulletinCategory.find(id).to_a : BulletinCategory.all)
|
||||
# elsif is_sub_manager?
|
||||
# @bulletin_categorys = BulletinCategory.authed_for_user(current_user,'submit_new')
|
||||
# end
|
||||
# end
|
||||
end
|
||||
-190
@@ -1,190 +0,0 @@
|
||||
class Panel::Announcement::BackEnd::BulletinCategorysController < OrbitBackendController
|
||||
include OrbitControllerLib::DivisionForDisable
|
||||
|
||||
# <<<<<<< HEAD
|
||||
# before_filter :for_app_manager,:except => [:index,:get_categorys_json]
|
||||
# before_filter :set_module_app
|
||||
|
||||
# def set_module_app
|
||||
# @module_app = ModuleApp.where(:title=>'Announcement').first
|
||||
# end
|
||||
# =======
|
||||
before_filter :for_app_manager,:except => [:index,:get_categorys_json,:get_bulletins_json]
|
||||
|
||||
|
||||
before_filter :force_order_for_visitor,:only=>[:index,:get_categorys_json,:get_bulletins_json]
|
||||
before_filter :force_order_for_user,:except => [:index,:get_categorys_json,:get_bulletins_json]
|
||||
before_filter :for_app_sub_manager,:except => [:index,:get_categorys_json,:get_bulletins_json]
|
||||
|
||||
def index
|
||||
@bulletin_categorys = get_categories_for_index("BulletinCategory")
|
||||
#TODO 需要做 manager ,admin 才可以 all. 其他 available就好
|
||||
@bulletin_category = BulletinCategory.new(:display => 'List')
|
||||
@url = panel_announcement_back_end_bulletin_categorys_path
|
||||
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
# format.xml { render :xml => @bulletins }
|
||||
format.js
|
||||
end
|
||||
end
|
||||
|
||||
def get_categorys_json
|
||||
categorys = BulletinCategory.all
|
||||
data = Array.new
|
||||
|
||||
categorys.each do |c|
|
||||
data << {
|
||||
category: c.title,
|
||||
# this is a json format
|
||||
# link: "http://#{request.host_with_port}#{panel_announcement_back_end_bulletin_category_get_bulletins_json_path(c)}"
|
||||
# remember to uncommand a rule in route.rb, too
|
||||
link: "#{url_for( :action => "index",
|
||||
:controller => "panel/announcement/front_end/bulletins",
|
||||
:format => :rss,
|
||||
:only_path => false,
|
||||
:inner=>true,
|
||||
:category_id => c )}"
|
||||
}
|
||||
end
|
||||
|
||||
#render :json => @data.to_json
|
||||
#to print readable json
|
||||
render :json => JSON.pretty_generate(data)
|
||||
end
|
||||
|
||||
def get_bulletins_json
|
||||
bulletin = BulletinCategory.find(params[:bulletin_category_id]).bulletins
|
||||
p bulletin
|
||||
data = Array.new
|
||||
|
||||
bulletin.each do |b|
|
||||
deadline = b.deadline
|
||||
|
||||
if not deadline.nil?
|
||||
deadline = display_date_time(deadline)
|
||||
else
|
||||
deadline = I18n.t("no_deadline")
|
||||
end
|
||||
|
||||
data << {
|
||||
title: b.title,
|
||||
link: "http://#{request.host_with_port}#{panel_announcement_front_end_bulletin_path(b, :category_id => b.bulletin_category.id)}",
|
||||
postdate: display_date_time(b.postdate),
|
||||
deadline: deadline,
|
||||
tag: b.sorted_tags.to_a,
|
||||
}
|
||||
end
|
||||
|
||||
render :json => JSON.pretty_generate(data)
|
||||
end
|
||||
|
||||
# GET /bulletins/1
|
||||
# GET /bulletins/1.xml
|
||||
def show
|
||||
@bulletin_category = BulletinCategory.find(params[:id])
|
||||
|
||||
respond_to do |format|
|
||||
format.html # show.html.erb
|
||||
# format.xml { render :xml => @bulletin_category }
|
||||
format.js
|
||||
end
|
||||
end
|
||||
|
||||
# GET /bulletins/new
|
||||
# GET /bulletins/new.xml
|
||||
def new
|
||||
@bulletin_category = BulletinCategory.new(:display => 'List')
|
||||
|
||||
respond_to do |format|
|
||||
format.html # new.html.erb
|
||||
# format.xml { render :xml => @bulletin_category }
|
||||
format.js
|
||||
end
|
||||
end
|
||||
|
||||
def quick_edit
|
||||
# debugger
|
||||
|
||||
@bulletin_category = BulletinCategory.find(params[:bulletin_category_id])
|
||||
|
||||
@url = panel_announcement_back_end_bulletin_category_path(@bulletin_category)
|
||||
|
||||
respond_to do |format|
|
||||
format.js
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
# GET /bulletins/1/edit
|
||||
def edit
|
||||
@bulletin_category = BulletinCategory.find(params[:id])
|
||||
|
||||
@url = panel_announcement_back_end_bulletin_category_path(@bulletin_category)
|
||||
|
||||
respond_to do |format|
|
||||
format.html
|
||||
format.js
|
||||
end
|
||||
end
|
||||
|
||||
# POST /bulletins
|
||||
# POST /bulletins.xml
|
||||
def create
|
||||
@bulletin_category = BulletinCategory.new(params[:bulletin_category])
|
||||
|
||||
respond_to do |format|
|
||||
if @bulletin_category.save
|
||||
# format.html { redirect_to @bulletin_category, notice: 'Entry was successfully created.' }
|
||||
format.html { redirect_to(panel_announcement_back_end_bulletin_categorys_url, :notice => t('announcement.create_bulletin_category_success')) }
|
||||
# format.xml { render :xml => @bulletin_category, :status => :created, :location => @bulletin_category }
|
||||
format.js
|
||||
else
|
||||
format.html { render :action => "new" }
|
||||
# format.xml { render :xml => @bulletin_category.errors, :status => :unprocessable_entity }
|
||||
format.js { render action: "new" }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# PUT /bulletins/1
|
||||
# PUT /bulletins/1.xml
|
||||
def update
|
||||
@bulletin_category = BulletinCategory.find(params[:id])
|
||||
|
||||
@url = panel_announcement_back_end_bulletin_category_path(@bulletin_category)
|
||||
|
||||
respond_to do |format|
|
||||
if @bulletin_category.update_attributes(params[:bulletin_category])
|
||||
# format.html { redirect_to(panel_announcement_back_end_bulletin_category_url(@bulletin_category), :notice => t('announcement.update_bulletin_category_success')) }
|
||||
# format.html { redirect_to(panel_announcement_back_end_bulletin_categorys_url, :notice => t('announcement.update_bulletin_category_success')) }
|
||||
# format.xml { head :ok }
|
||||
format.js
|
||||
else
|
||||
format.html { render :action => "edit" }
|
||||
format.js { render :action => "edit" }
|
||||
# format.xml { render :xml => @bulletin_category.errors, :status => :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# DELETE /bulletins/1
|
||||
# DELETE /bulletins/1.xml
|
||||
def destroy
|
||||
@bulletin_category = BulletinCategory.find(params[:id])
|
||||
@bulletin_category.disable = @bulletin_category.disable ? false : true
|
||||
|
||||
if @bulletin_category.save!
|
||||
respond_to do |format|
|
||||
flash[:notice] = t("update.success_")
|
||||
# flash[:error] += @bulletin_category.disable ? t(:enable) : t(disable)
|
||||
format.html { redirect_to(panel_announcement_back_end_bulletin_categorys_url) }
|
||||
# format.xml { head :ok }
|
||||
format.js
|
||||
end
|
||||
else
|
||||
flash[:error] = t("update.fail")
|
||||
format.html { render :action => "index" }
|
||||
end
|
||||
end
|
||||
end
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
class Panel::Announcement::BackEnd::BulletinFilesController < ApplicationController
|
||||
|
||||
layout 'new_admin'
|
||||
layout 'back_end'
|
||||
|
||||
def index
|
||||
@bulletin_files = BulletinFile.all
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
class Panel::Announcement::BackEnd::BulletinLinksController < ApplicationController
|
||||
|
||||
layout 'new_admin'
|
||||
layout 'back_end'
|
||||
|
||||
def index
|
||||
@bulletin_links = BulletinLink.all
|
||||
|
||||
+33
-161
@@ -1,5 +1,5 @@
|
||||
class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
|
||||
include OrbitControllerLib::DivisionForDisable
|
||||
# include OrbitControllerLib::DivisionForDisable
|
||||
|
||||
before_filter :clean_values, :only => [:create, :update]
|
||||
|
||||
@@ -9,8 +9,8 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
|
||||
before_filter :force_order_for_user,:except => [:index,:show,:get_sorted_and_filtered_bulletins]
|
||||
before_filter :for_app_sub_manager,:except => [:index,:show,:get_sorted_and_filtered_bulletins]
|
||||
|
||||
before_filter :only => [ :new,:create,:edit,:update,:create] do |controller|
|
||||
controller.get_categorys('BulletinCategory')
|
||||
before_filter :only => [ :new, :create, :edit, :update ] do |controller|
|
||||
@categories = get_categories_for_form
|
||||
end
|
||||
|
||||
def preview
|
||||
@@ -22,39 +22,12 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
|
||||
|
||||
|
||||
def index
|
||||
# @bulletins = Bulletin.all
|
||||
# @bulletins = Bulletin.desc("postdate desc")
|
||||
get_categorys('BulletinCategory',params[:bulletin_category_id])
|
||||
@tags = get_tags
|
||||
@categories = get_categories_for_index
|
||||
@statuses = get_statuses
|
||||
category_ids = @categories.collect{|t| t.id}
|
||||
|
||||
@filter = params[:filter]
|
||||
new_filter = params[:new_filter]
|
||||
|
||||
if @filter && params[:clear]
|
||||
@filter.delete(params[:type])
|
||||
elsif @filter && new_filter
|
||||
if @filter.has_key?(new_filter[:type]) && @filter[new_filter[:type]].include?(new_filter[:id].to_s)
|
||||
@filter[new_filter[:type]].delete(new_filter[:id].to_s)
|
||||
elsif @filter.has_key?(new_filter[:type])
|
||||
@filter[new_filter[:type]] << new_filter[:id].to_s
|
||||
else
|
||||
@filter.merge!({new_filter[:type] => [new_filter[:id].to_s]})
|
||||
end
|
||||
elsif new_filter
|
||||
@filter = {new_filter[:type] => [new_filter[:id].to_s]}
|
||||
end
|
||||
|
||||
@bulletin_categories = get_categories_for_index("BulletinCategory")
|
||||
@bulletin_category_ids = @bulletin_categories.collect{|t| t.id.to_s} + [nil]
|
||||
|
||||
@bulletins = (params[:sort] || @filter) ? get_sorted_and_filtered("bulletin",:bulletin_category_id.in => @bulletin_category_ids) : get_viewable("bulletin",:bulletin_category_id.in => @bulletin_category_ids)
|
||||
|
||||
@bulletin_link = BulletinLink.new
|
||||
@link_url = panel_announcement_back_end_bulletins_path
|
||||
|
||||
@bulletin_file = BulletinFile.new
|
||||
@file_url = panel_announcement_back_end_bulletins_path
|
||||
|
||||
@bulletins = get_sorted_and_filtered("bulletin", :category_id.in => category_ids)
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
format.js { }
|
||||
@@ -110,95 +83,37 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
|
||||
# POST /bulletins.xml
|
||||
def create
|
||||
@tags = get_tags
|
||||
if params[:bulletin_link]
|
||||
@bulletin = Bulletin.new(params[:bulletin])
|
||||
@bulletin.deadline = nil if (@bulletin.deadline < @bulletin.postdate rescue nil)
|
||||
|
||||
@bulletin_link = BulletinLink.new(params[:bulletin_link])
|
||||
|
||||
respond_to do |format|
|
||||
if @bulletin_link.save
|
||||
format.js { render 'create_bulletin_link' }
|
||||
end
|
||||
end
|
||||
|
||||
elsif params[:bulletin_file]
|
||||
|
||||
@bulletin_file = BulletinFile.new(params[:bulletin_file])
|
||||
|
||||
respond_to do |format|
|
||||
if @bulletin_file.save
|
||||
format.js { render 'create_bulletin_file' }
|
||||
end
|
||||
end
|
||||
|
||||
else
|
||||
|
||||
@bulletin = Bulletin.new(params[:bulletin])
|
||||
@bulletin.deadline = nil if (@bulletin.deadline < @bulletin.postdate rescue nil)
|
||||
|
||||
@bulletin.create_user_id = current_user.id
|
||||
@bulletin.update_user_id = current_user.id
|
||||
if(is_manager? || is_admin?)
|
||||
@bulletin.is_checked = true
|
||||
@bulletin.is_rejected = false
|
||||
@bulletin.de_pending
|
||||
end
|
||||
|
||||
respond_to do |format|
|
||||
if @bulletin.save
|
||||
|
||||
format.html { redirect_to(panel_announcement_back_end_bulletins_url, :notice => t('announcement.create_bulletin_success')) }
|
||||
format.xml { render :xml => @bulletin, :status => :created, :location => @bulletin }
|
||||
# format.js
|
||||
format.js {
|
||||
@info = {"success"=>"true","redirect_url"=>panel_announcement_back_end_bulletins_url}
|
||||
flash[:notice] = t('bulletin.create_bulletin_success')
|
||||
render "/shared/preview/after_create.js.erb"
|
||||
}
|
||||
else
|
||||
format.html { render :action => "new" }
|
||||
format.xml { render :xml => @bulletin.errors, :status => :unprocessable_entity }
|
||||
format.js {
|
||||
@info = {"success"=>"false","redirect_url"=>new_panel_announcement_back_end_bulletin_url(:bulletin => @bulletin)}
|
||||
session[:in_validate_object] = @bulletin
|
||||
render "/shared/preview/after_create.js.erb"
|
||||
}
|
||||
end
|
||||
end
|
||||
@bulletin.create_user_id = current_user.id
|
||||
@bulletin.update_user_id = current_user.id
|
||||
if(is_manager? || is_admin?)
|
||||
@bulletin.is_checked = true
|
||||
@bulletin.is_rejected = false
|
||||
@bulletin.de_pending
|
||||
end
|
||||
end
|
||||
|
||||
def link_quick_add
|
||||
@bulletin_link = BulletinLink.new
|
||||
@link_url = panel_announcement_back_end_bulletins_path
|
||||
@bulletin_link.bulletin_id = params[:bulletin_id]
|
||||
|
||||
respond_to do |format|
|
||||
format.js
|
||||
end
|
||||
end
|
||||
if @bulletin.save
|
||||
|
||||
def link_quick_edit
|
||||
@bulletin_link = BulletinLink.find(params[:bulletin_id])
|
||||
@link_url = panel_announcement_back_end_bulletin_path(@bulletin_link)
|
||||
respond_to do |format|
|
||||
format.js
|
||||
end
|
||||
end
|
||||
|
||||
def file_quick_add
|
||||
@bulletin_file = BulletinFile.new
|
||||
@file_url = panel_announcement_back_end_bulletins_path
|
||||
@bulletin_file.bulletin_id = params[:bulletin_id]
|
||||
respond_to do |format|
|
||||
format.js
|
||||
end
|
||||
end
|
||||
|
||||
def file_quick_edit
|
||||
@bulletin_file = BulletinFile.find(params[:bulletin_id])
|
||||
@file_url = panel_announcement_back_end_bulletin_path(@bulletin_file)
|
||||
respond_to do |format|
|
||||
format.js
|
||||
format.html { redirect_to(panel_announcement_back_end_bulletins_url, :notice => t('announcement.create_bulletin_success')) }
|
||||
format.xml { render :xml => @bulletin, :status => :created, :location => @bulletin }
|
||||
# format.js
|
||||
format.js {
|
||||
@info = {"success"=>"true","redirect_url"=>panel_announcement_back_end_bulletins_url}
|
||||
flash[:notice] = t('bulletin.create_bulletin_success')
|
||||
render "/shared/preview/after_create.js.erb"
|
||||
}
|
||||
else
|
||||
format.html { render :action => "new" }
|
||||
format.xml { render :xml => @bulletin.errors, :status => :unprocessable_entity }
|
||||
format.js {
|
||||
@info = {"success"=>"false","redirect_url"=>new_panel_announcement_back_end_bulletin_url(:bulletin => @bulletin)}
|
||||
session[:in_validate_object] = @bulletin
|
||||
render "/shared/preview/after_create.js.erb"
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -263,26 +178,6 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
|
||||
end
|
||||
end
|
||||
|
||||
# def top_edit
|
||||
|
||||
# Bulletin.where(id: params[:id]).update_all( is_top: true )
|
||||
# respond_to do |format|
|
||||
# format.html { redirect_to(panel_announcement_back_end_bulletins_url) }
|
||||
# format.xml { head :ok }
|
||||
# end
|
||||
|
||||
# end
|
||||
|
||||
|
||||
def load_quick_edit
|
||||
@bulletin = Bulletin.find(params[:id])
|
||||
@type = params[:type]
|
||||
@bulletin_categories = BulletinCategory.all
|
||||
#TODO 需要做 manager ,admin 才可以 all. 其他 available就好
|
||||
|
||||
@tags = get_tags
|
||||
end
|
||||
|
||||
def delete
|
||||
if params[:ids]
|
||||
bulletins = Bulletin.any_in(:_id => params[:ids]).destroy_all
|
||||
@@ -304,29 +199,6 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
|
||||
end rescue nil
|
||||
end
|
||||
|
||||
# def get_categories_for_index(id = nil)
|
||||
# @bulletin_categories = []
|
||||
# if(is_manager? || is_admin?)
|
||||
# @bulletin_categories = (id ? BulletinCategory.admin_manager_all.find(id).to_a : BulletinCategory.admin_manager_all)
|
||||
# elsif is_sub_manager?
|
||||
# @bulletin_categories = BulletinCategory.all
|
||||
# end
|
||||
# @bulletin_categories
|
||||
# end
|
||||
|
||||
# def get_categorys(id = nil)
|
||||
# @bulletin_categorys = []
|
||||
# if(is_manager? || is_admin?)
|
||||
# @bulletin_categorys = (id ? BulletinCategory.admin_manager_all.find(id).to_a : BulletinCategory.admin_manager_all)
|
||||
# elsif is_sub_manager?
|
||||
# @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")
|
||||
# redirect_to :action => :index
|
||||
# end
|
||||
# end
|
||||
|
||||
def clean_values
|
||||
if params[:bulletin]
|
||||
params[:bulletin][:bulletin_links_attributes].each_with_index do |link, index|
|
||||
|
||||
+9
-34
@@ -1,10 +1,5 @@
|
||||
class Panel::Announcement::FrontEnd::BulletinsController < OrbitWidgetController
|
||||
|
||||
def initialize
|
||||
super
|
||||
@app_title = 'announcement'
|
||||
end
|
||||
|
||||
# GET /bulletins
|
||||
# GET /bulletins.xml
|
||||
def index_bulletins_by_unit
|
||||
@@ -37,8 +32,6 @@ class Panel::Announcement::FrontEnd::BulletinsController < OrbitWidgetController
|
||||
end
|
||||
@item = Page.find(params[:page_id]) rescue nil
|
||||
if !params[:search_query].blank?
|
||||
# search_cond = {:is_checked=>true,:is_hidden=>false,:is_pending => false}
|
||||
# search_cond.merge!({:bulletin_category_id => "#{params[:category_id]}" }) if !params[:category_id].blank?
|
||||
@search = Bulletin.solr_search do
|
||||
fulltext params[:search_query]
|
||||
with(:frontend_search,true)
|
||||
@@ -50,10 +43,10 @@ class Panel::Announcement::FrontEnd::BulletinsController < OrbitWidgetController
|
||||
else
|
||||
date_now = Time.now
|
||||
if !params[:category_id].blank? && !params[:tag_id].blank?
|
||||
@bulletins = Bulletin.available_for_lang(I18n.locale).can_display.where(:bulletin_category_id => params[:category_id], :tagged_ids => params[:tag_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(@page_num)
|
||||
@bulletins = Bulletin.available_for_lang(I18n.locale).can_display.where(:category_id => params[:category_id], :tagged_ids => params[:tag_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(@page_num)
|
||||
@current_category = BulletinCategory.from_id(params[:category_id]) rescue nil
|
||||
elsif !params[:category_id].blank?
|
||||
@bulletins = Bulletin.all.available_for_lang(I18n.locale).can_display.where(:bulletin_category_id => params[:category_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(@page_num)
|
||||
@bulletins = Bulletin.all.available_for_lang(I18n.locale).can_display.where(:category_id => params[:category_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(@page_num)
|
||||
@current_category = BulletinCategory.from_id(params[:category_id]) rescue nil
|
||||
elsif !params[:tag_id].blank?
|
||||
@bulletins = Bulletin.available_for_lang(I18n.locale).can_display.where(:tagged_ids => params[:tag_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(@page_num)
|
||||
@@ -67,34 +60,16 @@ class Panel::Announcement::FrontEnd::BulletinsController < OrbitWidgetController
|
||||
|
||||
def show
|
||||
@item = Page.find(params[:page_id]) rescue nil
|
||||
if params[:preview] == "true"
|
||||
preview_content
|
||||
else
|
||||
@bulletin = Bulletin.all.can_display.where(_id: params[:id]).first
|
||||
if @bulletin and !@bulletin.disable? and !@bulletin.is_rejected
|
||||
if @bulletin.enabled_for_lang(I18n.locale.to_s)
|
||||
delayed_impressionist(@bulletin)
|
||||
get_categorys
|
||||
else
|
||||
render :text => "<div class='alert alert-error'>#{t('sys.can_not_display_due_to_no_context')}</div>".html_safe
|
||||
end
|
||||
@bulletin = Bulletin.all.can_display.where(_id: params[:id]).first
|
||||
if @bulletin and !@bulletin.disable? and !@bulletin.is_rejected
|
||||
if @bulletin.enabled_for_lang(I18n.locale.to_s)
|
||||
impressionist(@bulletin)
|
||||
else
|
||||
render :nothing => true, :status => 403
|
||||
render :text => "<div class='alert alert-error'>#{t('sys.can_not_display_due_to_no_context')}</div>".html_safe
|
||||
end
|
||||
else
|
||||
render :nothing => true, :status => 403
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def preview_content
|
||||
@bulletin = Bulletin.find params[:id] rescue nil
|
||||
@bulletin = Preview.find(params[:id]).get_virtual_object if @bulletin.nil?
|
||||
get_categorys
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def get_categorys
|
||||
@bulletin_categorys = BulletinCategory.all
|
||||
end
|
||||
|
||||
end
|
||||
+6
-12
@@ -31,7 +31,7 @@ class Panel::Announcement::Widget::BulletinsController < OrbitWidgetController
|
||||
|
||||
date_now = Time.now
|
||||
if !@category_id.blank?
|
||||
@bulletins = Bulletin.available_for_lang(I18n.locale).can_display.where(:bulletin_category_id => @category_id).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page] ).per(@page_num)
|
||||
@bulletins = Bulletin.available_for_lang(I18n.locale).can_display.where(:category_id => @category_id).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page] ).per(@page_num)
|
||||
@current_category = BulletinCategory.from_id(@category_id) rescue nil
|
||||
elsif !params[:tag_id].blank?
|
||||
@bulletins = Bulletin.available_for_lang(I18n.locale).can_display.where(:tagged_ids => params[:tag_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page] ).per(@page_num)
|
||||
@@ -39,7 +39,7 @@ class Panel::Announcement::Widget::BulletinsController < OrbitWidgetController
|
||||
@bulletins = Bulletin.available_for_lang(I18n.locale).can_display.any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page] ).per(@page_num)
|
||||
end
|
||||
|
||||
get_categorys
|
||||
@categories = get_categories_for_index
|
||||
|
||||
end
|
||||
|
||||
@@ -54,7 +54,7 @@ class Panel::Announcement::Widget::BulletinsController < OrbitWidgetController
|
||||
@title = params[:part_title]
|
||||
date_now = Time.now
|
||||
if !params[:category_id].blank?
|
||||
@bulletins = Bulletin.all.available_for_lang(I18n.locale).can_display.where(:bulletin_category_id => params[:category_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page]).per(@page_num )
|
||||
@bulletins = Bulletin.all.available_for_lang(I18n.locale).can_display.where(:category_id => params[:category_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page]).per(@page_num )
|
||||
@current_category = BulletinCategory.from_id(params[:category_id]) rescue nil
|
||||
elsif !params[:tag_id].blank?
|
||||
@bulletins = Bulletin.available_for_lang(I18n.locale).can_display.where(:tagged_ids => params[:tag_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page] ).per(@page_num)
|
||||
@@ -62,7 +62,7 @@ class Panel::Announcement::Widget::BulletinsController < OrbitWidgetController
|
||||
@bulletins = Bulletin.available_for_lang(I18n.locale).can_display.any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page]).per(@page_num )
|
||||
end
|
||||
|
||||
get_categorys
|
||||
@categories = get_categories_for_index
|
||||
|
||||
end
|
||||
|
||||
@@ -77,18 +77,12 @@ class Panel::Announcement::Widget::BulletinsController < OrbitWidgetController
|
||||
end
|
||||
|
||||
def bulletins_side_bar
|
||||
@tags_and_class = AnnouncementTag.sorted_for_cloud
|
||||
get_categorys
|
||||
@tags_and_class = @module_app.sorted_tags_for_cloud
|
||||
@categories = get_categories_for_index
|
||||
end
|
||||
|
||||
def bulletins_search_block
|
||||
@part = PagePart.find params[:part_id]
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def get_categorys
|
||||
@bulletin_categorys = BulletinCategory.all
|
||||
end
|
||||
|
||||
end
|
||||
+4
-4
@@ -2,12 +2,12 @@ module Panel::Announcement::BackEnd::BulletinCategorysHelper
|
||||
include ActionView::Helpers::UrlHelper
|
||||
|
||||
|
||||
def show_anc_cate_permission_link(bulletin_category)
|
||||
def show_anc_cate_permission_link(category)
|
||||
type = 'submit'
|
||||
oa = bulletin_category.get_object_auth_by_title(type)
|
||||
oa = category.get_object_auth_by_title(type)
|
||||
if oa.nil?
|
||||
bulletin_category.object_auths.new(title: type ).save
|
||||
oa = bulletin_category.get_object_auth_by_title(type)
|
||||
category.object_auths.new(title: type ).save
|
||||
oa = category.get_object_auth_by_title(type)
|
||||
end
|
||||
# link_to t(:category_auth), edit_admin_object_auth_path(oa)
|
||||
link_to t(:category_auth),admin_object_auth_ob_auth_path(oa)
|
||||
|
||||
Vendored
-36
@@ -1,40 +1,4 @@
|
||||
module Panel::Announcement::BackEnd::BulletinsHelper
|
||||
def show_reject_reason(bulletin)
|
||||
by_bulletin = bulletin.is_rejected
|
||||
by_user = (((bulletin.create_user_id == current_user.id) rescue nil) or is_manager? or is_admin?)
|
||||
by_bulletin && by_user
|
||||
end
|
||||
|
||||
def show_form_status_field(bulletin)
|
||||
#by_bulletin = (!bulletin.is_expired? and bulletin.is_pending?)
|
||||
by_user = ((bulletin.bulletin_category.authed_users('fact_check').include?(current_user) rescue nil) or is_manager? or is_admin?)
|
||||
by_user
|
||||
end
|
||||
|
||||
def show_approval_link(bulletin)
|
||||
by_bulletin = (!bulletin.is_expired? and bulletin.is_pending?)
|
||||
by_user = ((bulletin.bulletin_category.authed_users('fact_check').include?(current_user) rescue nil) or is_manager? or is_admin?)
|
||||
by_bulletin and by_user
|
||||
end
|
||||
|
||||
def show_delete_link(bulletin)
|
||||
if !current_user.nil?
|
||||
by_bulletin = (bulletin.create_user_id == current_user.id )
|
||||
by_user = (is_manager? or is_admin?)
|
||||
by_bulletin or by_user
|
||||
else
|
||||
false
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def show_bulletin_title_at_index (bulletin)
|
||||
if bulletin.is_checked?
|
||||
link_to bulletin.title, panel_announcement_front_end_bulletin_path(bulletin, :category_id => bulletin.bulletin_category.id) rescue ''
|
||||
else
|
||||
bulletin.title
|
||||
end
|
||||
end
|
||||
|
||||
def file_picture_preview_setting(file_path)
|
||||
ext = File.extname(file_path)[1..-1].downcase
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
class AnnouncementTag < Tag
|
||||
|
||||
has_and_belongs_to_many :bulletins
|
||||
field :order,:default => 0
|
||||
|
||||
def get_visible_bulletins(sort = :title)
|
||||
date_now = Time.now
|
||||
self.bulletins.where(:is_hidden => false).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc(:is_top, sort)
|
||||
end
|
||||
|
||||
def bulletins
|
||||
Bulletin.all.any_in(:_id => bulletin_ids)
|
||||
end
|
||||
|
||||
end
|
||||
+10
-91
@@ -1,5 +1,4 @@
|
||||
# encoding: utf-8
|
||||
# require "impressionist"
|
||||
class Bulletin
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
@@ -7,12 +6,13 @@ class Bulletin
|
||||
include Sunspot::Mongo
|
||||
include Impressionist::Impressionable
|
||||
|
||||
BelongsToCategory = :bulletin_category
|
||||
include OrbitCoreLib::BelongsToCategoryMayDisable
|
||||
include OrbitCategory::Categorizable
|
||||
include OrbitCoreLib::Preview
|
||||
|
||||
include OrbitModel::Approval
|
||||
include OrbitModel::LanguageRestrict
|
||||
include OrbitModel::Status
|
||||
include OrbitModel::TimeFrame
|
||||
include OrbitTag::Taggable
|
||||
taggable
|
||||
|
||||
is_impressionable :counter_cache => { :column_name => :view_count }
|
||||
|
||||
@@ -20,29 +20,12 @@ class Bulletin
|
||||
field :subtitle, localize: true
|
||||
field :text, localize: true
|
||||
|
||||
# has_and_belongs_to_many :tags, :class_name => "AnnouncementTag"
|
||||
|
||||
field :postdate , :type => DateTime
|
||||
field :deadline , :type => DateTime
|
||||
# field :url
|
||||
|
||||
field :create_user_id
|
||||
field :update_user_id, :class_name => "User"
|
||||
|
||||
field :is_top, :type => Boolean, :default => false
|
||||
field :is_hot, :type => Boolean, :default => false
|
||||
field :is_hidden, :type => Boolean, :default => false
|
||||
field :is_checked, :type => Boolean, :default => false
|
||||
field :is_pending, :type => Boolean, :default => true
|
||||
field :is_rejected, :type => Boolean, :default => false
|
||||
field :view_count, :type => Integer, :default => 0
|
||||
|
||||
field :not_checked_reason
|
||||
|
||||
field :public, :type => Boolean, :default => true
|
||||
|
||||
scope :can_display, where(is_checked: true, is_rejected: false, is_pending: false)
|
||||
scope :available_for_lang, ->(locale){ where("available_for_#{locale}".to_sym => true) }
|
||||
|
||||
mount_uploader :image, ImageUploader
|
||||
|
||||
@@ -54,7 +37,7 @@ class Bulletin
|
||||
|
||||
validates :title, :at_least_one => true
|
||||
|
||||
before_save :check_deadline, :update_avliable_language#, :clean_values#, :save_bulletin_links, :save_bulletin_files
|
||||
#before_save :clean_values, :save_bulletin_links, :save_bulletin_files
|
||||
|
||||
searchable do
|
||||
text :titles do
|
||||
@@ -77,7 +60,7 @@ class Bulletin
|
||||
end
|
||||
|
||||
integer :view_count
|
||||
string :bulletin_category_id
|
||||
string :category_id
|
||||
end
|
||||
|
||||
def bulletin_category_with_title
|
||||
@@ -88,25 +71,6 @@ class Bulletin
|
||||
Item.first(conditions:{name: 'announcement'})
|
||||
end
|
||||
|
||||
def proc_check(check,not_pass_info = "")
|
||||
self.is_checked = true
|
||||
if check =="true"
|
||||
self.is_rejected = false
|
||||
elsif check == "false"
|
||||
self.is_rejected = true
|
||||
self.not_checked_reason = not_pass_info
|
||||
end
|
||||
end
|
||||
|
||||
def de_pending
|
||||
self.is_pending = false
|
||||
end
|
||||
|
||||
def de_pending!
|
||||
de_pending
|
||||
self.save!
|
||||
end
|
||||
|
||||
def enabled_for_lang(lang)
|
||||
eval("self.available_for_#{lang}") rescue false
|
||||
end
|
||||
@@ -118,9 +82,9 @@ class Bulletin
|
||||
def self.search( search = nil, category_id = nil )
|
||||
if category_id.to_s.size > 0 and search.to_s.size > 0
|
||||
key = /#{search}/
|
||||
find(:all, :conditions => {title: key, bulletin_category_id: category_id}).desc( :is_top, :postdate )
|
||||
find(:all, :conditions => {title: key, category_id: category_id}).desc( :is_top, :postdate )
|
||||
elsif category_id.to_s.size > 0 and search.to_s.size < 1
|
||||
find(:all, :conditions => {bulletin_category_id: category_id}).desc( :is_top, :postdate )
|
||||
find(:all, :conditions => {category_id: category_id}).desc( :is_top, :postdate )
|
||||
elsif search.to_s.size > 0 and category_id.to_s.size < 1
|
||||
key = /#{search}/
|
||||
find(:all, :conditions => {title: key}).desc( :is_top, :postdate )
|
||||
@@ -139,42 +103,13 @@ class Bulletin
|
||||
# any_of({ :title => "test" },{:deadline => nil, :title => "123"})
|
||||
|
||||
if category_id.to_s.size > 0
|
||||
find(:all, :conditions => {bulletin_category_id: category_id}).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate)
|
||||
find(:all, :conditions => {category_id: category_id}).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate)
|
||||
else
|
||||
any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def is_expired?
|
||||
Date.today > self.deadline ? true : false rescue false
|
||||
#some dates might sat as nil so rescue false
|
||||
end
|
||||
|
||||
def is_top?
|
||||
self.is_top
|
||||
end
|
||||
|
||||
def is_hot?
|
||||
self.is_hot
|
||||
end
|
||||
|
||||
def is_hidden?
|
||||
self.is_hidden
|
||||
end
|
||||
|
||||
def is_checked?
|
||||
!self.is_pending && self.is_checked && (self.is_rejected == false)
|
||||
end
|
||||
|
||||
def is_pending?
|
||||
self.is_pending
|
||||
end
|
||||
|
||||
def is_rejected?
|
||||
!self.is_pending && self.is_rejected && (self.is_rejected == true)
|
||||
end
|
||||
|
||||
|
||||
def save_bulletin_links
|
||||
self.bulletin_links.each do |t|
|
||||
@@ -217,22 +152,6 @@ class Bulletin
|
||||
|
||||
|
||||
protected
|
||||
|
||||
def check_deadline
|
||||
if(!self.deadline.nil? and (self.deadline < self.postdate ))
|
||||
self.deadline = nil
|
||||
end
|
||||
end
|
||||
|
||||
def update_avliable_language
|
||||
VALID_LOCALES.each do |locale|
|
||||
if (title_translations[locale].blank? rescue true)
|
||||
self["available_for_#{locale}".to_sym] = false
|
||||
else
|
||||
self["available_for_#{locale}".to_sym] = true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# def clean_values
|
||||
# self.bulletin_links.each do |link|
|
||||
|
||||
@@ -19,6 +19,8 @@ class BulletinCategory
|
||||
field :title, localize: true
|
||||
|
||||
has_many :bulletins
|
||||
|
||||
validates :title, :at_least_one => true
|
||||
|
||||
def pp_object
|
||||
title
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p class="bulletin_slideshow">
|
||||
<iframe src=<%= panel_announcement_front_end_bulletin_path(bulletin, :category_id => bulletin.bulletin_category.id ,:preview=>true) %> style="width:1024px;height:300px" >
|
||||
<iframe src=<%= panel_announcement_front_end_bulletin_path(bulletin, :category_id => bulletin.category.id ,:preview=>true) %> style="width:1024px;height:300px" >
|
||||
|
||||
</iframe>
|
||||
|
||||
|
||||
+4
-4
@@ -1,13 +1,13 @@
|
||||
<% if bulletin_category -%>
|
||||
<% if category -%>
|
||||
|
||||
<div class="modal hide fade in" id="bulletin_category-<%=bulletin_category.id%>">
|
||||
<div class="modal hide fade in" id="category-<%=category.id%>">
|
||||
<div class="modal-header">
|
||||
<a class="close" data-dismiss="modal">×</a>
|
||||
<h3><%= t("approval.user_list") %></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="clear">
|
||||
<% bulletin_category.get_object_auth_by_title('fact_check').auth_users.each do |user| %>
|
||||
<% category.get_object_auth_by_title('fact_check').auth_users.each do |user| %>
|
||||
<div class="checkbox clear checked">
|
||||
<div class='member-avatar'>
|
||||
<% if user.avatar? %>
|
||||
@@ -29,7 +29,7 @@
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
|
||||
$("#bulletin_category-<%=bulletin_category.id%>").on("show", function () {
|
||||
$("#category-<%=category.id%>").on("show", function () {
|
||||
});
|
||||
$(".modal").on("hidden", function () {
|
||||
$("#show_preview").remove();
|
||||
|
||||
+2
-2
@@ -1,2 +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%>"
|
||||
$('#show_preview').html("<%= escape_javascript(render(:partial => 'modal_list',:locals => {:category => @category})) %>");
|
||||
var start_modal_with_id = "category-<%=@category.id%>"
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
|
||||
<tr id="<%= dom_id bulletin_category %>" class="with_action">
|
||||
<td>
|
||||
<%= bulletin_category.key %>
|
||||
<div class="quick-edit">
|
||||
<ul class="nav nav-pills hide">
|
||||
<% if is_admin?%>
|
||||
<li><%= link_to t(:edit), edit_panel_announcement_back_end_bulletin_category_path(bulletin_category), :remote => true %></li>
|
||||
<li><%= link_to show_toggle_archive_btn(bulletin_category) , panel_announcement_back_end_bulletin_category_path(bulletin_category), :confirm => t(:sure?), :method => :delete, :remote => true,:class=> "archive_toggle" %></li>
|
||||
<% end %>
|
||||
<%if is_manager? || is_admin? %>
|
||||
<li><%= show_anc_cate_permission_link(bulletin_category) %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
<% @site_valid_locales.each do |locale| %>
|
||||
<td><%= bulletin_category.title_translations[locale] rescue nil %></td>
|
||||
<% end %>
|
||||
</tr>
|
||||
-37
@@ -1,37 +0,0 @@
|
||||
<% # encoding: utf-8 %>
|
||||
|
||||
<%= form_for(@bulletin_category, :remote => true, :url => @url) do |f| %>
|
||||
|
||||
<h2><%= @bulletin_category.new_record? ? t(:add) : t(:edit) %></h2>
|
||||
|
||||
<div id="widget-title">
|
||||
<%= f.label :key, t(:key) %>
|
||||
<%= f.text_field :key %>
|
||||
</div>
|
||||
|
||||
<div id="widget-title">
|
||||
<%= f.fields_for :title_translations do |f| %>
|
||||
<% @site_valid_locales.each do |locale| %>
|
||||
<div class="control-group">
|
||||
<%= label_tag "name-#{locale}", "#{t(:name)}-#{I18nVariable.from_locale(locale)}", :class => 'control-label' %>
|
||||
<div class="controls">
|
||||
<%= f.text_field locale, :class => 'input-xxlarge', :value => (@bulletin_category.title_translations[locale] rescue nil) %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div id="widget-title">
|
||||
<%#= f.label :display %>
|
||||
<%#= f.radio_button :display, "List" List%>
|
||||
<%#= f.radio_button :display, "Picture" Picture%>
|
||||
<%# <br />顯示方式是設定在前台頁面時,資訊所呈現的樣式 %>
|
||||
</div>
|
||||
|
||||
<div class="form-actions pagination-right">
|
||||
<%= f.submit t('submit'), :class=>'btn btn-primary' %>
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
<% # encoding: utf-8 %>
|
||||
|
||||
<div id="qe-basic" class="qe-edit-div">
|
||||
|
||||
<div id="widget-title">
|
||||
<%= f.label :key %>
|
||||
<%= f.text_field :key %>
|
||||
</div>
|
||||
<div id="widget-title">
|
||||
<%= f.fields_for :title_translations do |f| %>
|
||||
<% @site_valid_locales.each do |locale| %>
|
||||
<div class="control-group">
|
||||
<%= label_tag "title-#{locale}", "Title-#{I18nVariable.from_locale(locale)}", :class => 'control-label' %>
|
||||
<div class="controls">
|
||||
<%= f.text_field locale, :class => 'input-xxlarge', :value => (bulletin_category.title_translations[locale] rescue nil) %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
$('<%= j render :partial => 'bulletin_category', :collection => [@bulletin_category] %>').appendTo('#bulletin_categorys').hide().fadeIn();
|
||||
$("#new_bulletin_category")[0].reset();
|
||||
-1
@@ -1 +0,0 @@
|
||||
$("#<%= dom_id @bulletin_category %>").find(".archive_toggle").text("<%= show_toggle_archive_btn(@bulletin_category) %> ");
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
<h1><%= t('announcement.editing_announcement_category') %></h1>
|
||||
|
||||
<%= form_for @bulletin_category, :url => panel_announcement_back_end_bulletin_category_path(@bulletin_category) do |f| %>
|
||||
<%= render :partial => 'form', :locals => {:f => f} %>
|
||||
<% end %>
|
||||
|
||||
<%= link_back %>
|
||||
-1
@@ -1 +0,0 @@
|
||||
$("#form > form").replaceWith("<%= j render "form" %>");
|
||||
-41
@@ -1,41 +0,0 @@
|
||||
|
||||
<%= flash_messages %>
|
||||
|
||||
<div id="filter" class="subnav">
|
||||
<div class="filters">
|
||||
<div id="sort_headers" class="table-label">
|
||||
<table class="table main-list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="span2"><%= t(:key) %></th>
|
||||
<% @site_valid_locales.each do |locale| %>
|
||||
<th class="span2"><%= I18nVariable.first(:conditions => {:key => locale})[I18n.locale] %></th>
|
||||
<% end %>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<table id="bulletin_categorys" class="table main-list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="span2"></th>
|
||||
<% @site_valid_locales.each do |locale| %>
|
||||
<th class="span2"></th>
|
||||
<% end %>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<%= render :partial => 'bulletin_category', :collection => @bulletin_categorys %>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div id="form"><%= render :partial => "form" if is_manager?%></div>
|
||||
|
||||
|
||||
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
<% content_for :secondary do %>
|
||||
<%= render :partial => '/panel/announcement/back_end/announcement_secondary' %>
|
||||
<% end -%>
|
||||
|
||||
<%= flash_messages %>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<h1><%= t('announcement.new_bulletin_category') %></h1>
|
||||
<%= form_for @bulletin_category, :url => panel_announcement_back_end_bulletin_categorys_path do |f| %>
|
||||
<%= render :partial => 'form', :locals => {:f => f} %>
|
||||
<% end %>
|
||||
|
||||
<%= link_back %>
|
||||
|
||||
-1
@@ -1 +0,0 @@
|
||||
$("#form > form").replaceWith("<%= j render "form" %>");
|
||||
-4
@@ -1,4 +0,0 @@
|
||||
$("#<%= dom_id @bulletin_category %>").replaceWith("<%= j render :partial => 'bulletin_category', :collection => [@bulletin_category] %>");
|
||||
<% @bulletin_category = BulletinCategory.new(:display => 'List') # reset for new form %>
|
||||
$(".edit_bulletin_category").replaceWith("<%= j render "form" %>")
|
||||
$(".new_bulletin_category")[0].reset();
|
||||
-77
@@ -1,77 +0,0 @@
|
||||
<tr id="<%= dom_id bulletin %>" class="with_action">
|
||||
<td>
|
||||
<% if (bulletin.create_user_id == current_or_guest_user.id) || is_manager? %>
|
||||
<%= check_box_tag 'to_delete[]', bulletin.id, false, :class => "checkbox_in_list" %>
|
||||
<% end -%>
|
||||
</td>
|
||||
<td>
|
||||
<div class="label-group">
|
||||
<div class="label-td">
|
||||
<% if bulletin.is_top? %>
|
||||
<span class="label label-success"><%= t(:top) %></span>
|
||||
<% end %>
|
||||
<% if bulletin.is_hot? %>
|
||||
<span class="label label-important"><%= t(:hot) %></span>
|
||||
<% end %>
|
||||
<% if bulletin.is_hidden? %>
|
||||
<span class="label"><%= t(:hidden) %></span>
|
||||
<% end %>
|
||||
<% if bulletin.is_pending? %>
|
||||
<span class="label"><%= t(:pending) %></span>
|
||||
<% end %>
|
||||
<% if bulletin.is_checked? %>
|
||||
<span class="label"><%= t(:passed) %></span>
|
||||
<% end %>
|
||||
<% if bulletin.is_rejected? %>
|
||||
<span class="label"><%= t(:rejected) %></span>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td><%= bulletin.bulletin_category.title rescue nil %></td>
|
||||
<td>
|
||||
<%= show_bulletin_title_at_index bulletin%>
|
||||
<div class="quick-edit">
|
||||
<ul class="nav nav-pills hide">
|
||||
<% if (bulletin.create_user_id == current_or_guest_user.id) || is_manager? %>
|
||||
<% if current_or_guest_user.admin? || (!bulletin.is_rejected? && !bulletin.is_checked?) %>
|
||||
<li><%= link_to t(:edit), edit_panel_announcement_back_end_bulletin_path(bulletin) %></li>
|
||||
<li class="dropdown">
|
||||
<a href="#" data-toggle="dropdown" class="dropdown-toggle"><%= t(:quick_edit) %><b class="caret"></b></a>
|
||||
<ul class="dropdown-menu" id="menu1">
|
||||
<li><%= link_to t(:basic), load_quick_edit_panel_announcement_back_end_bulletin_path(bulletin, :type => 'basic'), :remote => true %></li>
|
||||
<li><%#= link_to t(:picture), load_quick_edit_panel_announcement_back_end_bulletin_path(bulletin, :type => 'picture'), :remote => true %></li>
|
||||
<li><%= link_to t(:tags), load_quick_edit_panel_announcement_back_end_bulletin_path(bulletin, :type => 'tags'), :remote => true %></li>
|
||||
<li><%= link_to t(:link), load_quick_edit_panel_announcement_back_end_bulletin_path(bulletin, :type => 'links'), :remote => true %></li>
|
||||
<li><%#= link_to t(:file_), load_quick_edit_panel_announcement_back_end_bulletin_path(bulletin, :type => 'files'), :remote => true %></li>
|
||||
</ul>
|
||||
</li>
|
||||
<% end %>
|
||||
|
||||
<% end -%>
|
||||
<% if show_delete_link(bulletin) %>
|
||||
<li class="dropdown"><%= link_to t(:delete_), panel_announcement_back_end_bulletin_path(bulletin), :confirm => t(:sure?), :method => :delete, :remote => true %></li>
|
||||
<% end %>
|
||||
<% if show_approval_link(bulletin) %>
|
||||
<li><%= link_to t(:approval_), panel_announcement_back_end_bulletin_approval_preview_path(bulletin),:class => 'preview_trigger' %></li><%#= #TODO add ancher so user can quick access into that part %>
|
||||
<% end %>
|
||||
<% if show_reject_reason(bulletin)%>
|
||||
<li><%= link_to t('rejected_reason')+truncate(bulletin.not_checked_reason, :length => 10),'#',:rel=>"tooltip" ,'data-original-title'=> (wrap_string_with(bulletin.not_checked_reason, :line_width => 24)),:class=>'reject_info' %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
<td><%= display_date_time(bulletin.postdate) %></td>
|
||||
<td><%= (bulletin.deadline) ? display_date_time(bulletin.deadline ): t(:no_deadline) %></td>
|
||||
<td>
|
||||
<div class="label-group">
|
||||
<div class="label-td">
|
||||
<% bulletin.sorted_tags.each do |tag| %>
|
||||
<span class="label label-tags"><%= tag.name %></span>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td><%= User.from_id(bulletin.update_user_id).name rescue ''%></td>
|
||||
</tr>
|
||||
<tr id="<%= dom_id bulletin, :edit %>" class="qe-block hide" />
|
||||
-51
@@ -1,51 +0,0 @@
|
||||
<% # encoding: utf-8 %>
|
||||
|
||||
<%= form_for @bulletin_file, :url => @file_url, :html => {:id => 'ajaxForm', :multipart => true} do |f| %>
|
||||
|
||||
<div class="modal-header">
|
||||
<a class="close" data-dismiss="modal">×</a>
|
||||
<h3><%= (@bulletin_file.new_record? ? t(:add) : t(:edit)) %></h3>
|
||||
</div>
|
||||
<div class="modal-body form-horizontal">
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<%= f.file_field :file %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%= f.fields_for :title_translations do |f| %>
|
||||
<% @site_valid_locales.each do |locale| %>
|
||||
<div class="control-group">
|
||||
<label for="file-<%= locale %>" class="control-label"><%= t(:name) %> <%= I18nVariable.first(:conditions => {:key => locale})[I18n.locale] %></label>
|
||||
<div class="controls">
|
||||
<%= f.text_field locale, :id => "file-#{locale}", :class => "input-xlarge", :value => (@bulletin_file.title_translations[locale] rescue nil) %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<%= f.fields_for :description_translations do |f| %>
|
||||
<% @site_valid_locales.each do |locale| %>
|
||||
<div class="control-group">
|
||||
<label for="file-<%= locale %>" class="control-label"><%= t(:description) %> <%= I18nVariable.first(:conditions => {:key => locale})[I18n.locale] %></label>
|
||||
<div class="controls">
|
||||
<%= f.text_field locale, :id => "file-#{locale}", :class => "input-xlarge", :value => (@bulletin_file.description_translations[locale] rescue nil) %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<%= hidden_field_tag 'bulletin_file[bulletin_id]', @bulletin_file.bulletin_id %>
|
||||
<a class="btn btn-primary" id='ajax_form_submit'><%= t('submit')%></a>
|
||||
<a class="btn" data-dismiss="modal"><%= t('cancel')%></a>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<% end %>
|
||||
|
||||
|
||||
|
||||
-36
@@ -1,36 +0,0 @@
|
||||
<% # encoding: utf-8 %>
|
||||
|
||||
<%= form_for(@bulletin_link, :remote => true, :url => @link_url) do |f| %>
|
||||
|
||||
<div class="modal-header">
|
||||
<a class="close" data-dismiss="modal">×</a>
|
||||
<h3><%= (@bulletin_link.new_record? ? t(:add) : t(:edit)) %></h3>
|
||||
</div>
|
||||
<div class="modal-body form-horizontal">
|
||||
<div class="control-group">
|
||||
<label for="http" class="control-label"><%= t(:url) %></label>
|
||||
<div class="controls">
|
||||
<%= f.text_field :url %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%= f.fields_for :title_translations do |f| %>
|
||||
<% @site_valid_locales.each do |locale| %>
|
||||
<div class="control-group">
|
||||
<%= label_tag "link-#{locale}", "#{t(:name)}-#{I18nVariable.from_locale(locale)}", :class => 'control-label' %>
|
||||
<div class="controls">
|
||||
<%#= f.text_field locale, :class => 'input-xxlarge' %>
|
||||
<%= f.text_field locale, :class => 'control-label', :value => (@bulletin_link.title_translations[locale] rescue nil) %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<%= hidden_field_tag 'bulletin_link[bulletin_id]', @bulletin_link.bulletin_id %>
|
||||
<%= f.submit t('submit'), :class=>'btn btn-primary' %>
|
||||
<a class="btn" data-dismiss="modal"><%= t('cancel')%></a>
|
||||
<% end %>
|
||||
|
||||
|
||||
|
||||
-15
@@ -1,15 +0,0 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="span1"></th>
|
||||
<th class="span1-2"></th>
|
||||
<th class="span1-2"></th>
|
||||
<th class="span7"></th>
|
||||
<th class="span1-2"></th>
|
||||
<th class="span1-2"></th>
|
||||
<th class="span1-2"></th>
|
||||
<th class="span1-3"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tbody_bulletins" class="sort-holder">
|
||||
<%= render :partial => 'bulletin', :collection => @bulletins %>
|
||||
</tbody>
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
<div class="filter-clear">
|
||||
<%= link_to content_tag(:i, nil, :class => 'icons-cycle') + t(:clear), panel_announcement_back_end_bulletins_path(:filter => @filter, :sort => params[:sort], :direction => params[:direction], :clear => true, :type => type), :class => "btn btn-small js_history" %>
|
||||
</div>
|
||||
Vendored
-37
@@ -1,37 +0,0 @@
|
||||
<div id='add_bulletin_files'>
|
||||
|
||||
<% bulletin_files.each do | bulletin_file | %>
|
||||
|
||||
<%= fields_for 'bulletin[bulletin_files][]', bulletin_file, :index => nil do |f| %>
|
||||
|
||||
<div id="<%= "bulletin_#{bulletin_file.id}" if !bulletin_file.new_record? %>" class='list_item'>
|
||||
<div class="field">
|
||||
<%= f.label :file %>
|
||||
<%#= file_field_tag 'bulletin[file]' %>
|
||||
<%= f.file_field :file %>
|
||||
|
||||
<%= f.label :file_title %>
|
||||
<%= f.text_field :title %>
|
||||
|
||||
<%= f.label :file_description %>
|
||||
<%= f.text_field :description %>
|
||||
|
||||
<span class="action">
|
||||
<% if bulletin_file.new_record? %>
|
||||
<a href="#" class="delete"><%= t(:delete_) %></a>
|
||||
<% else %>
|
||||
<%= f.hidden_field :id %>
|
||||
<% if bulletin_file.is_built_in? %>
|
||||
<a href="#" class="switch" id="<%= bulletin_file.id %>"></a>
|
||||
<% else %>
|
||||
<a href="#" class="remove_existing_record"><%= t(:delete_) %></a>
|
||||
<%= f.hidden_field :_destroy, :value => nil, :class => 'should_destroy' %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% end %>
|
||||
</div>
|
||||
-37
@@ -1,37 +0,0 @@
|
||||
<div id='filter' class="subnav">
|
||||
<ul class="nav nav-pills filter">
|
||||
<li class="accordion-group">
|
||||
<div class="accordion-heading">
|
||||
<a href="#collapse-status" data-toggle="collapse" data-parent="#filter" class="accordion-toggle"><%= t(:status) %> <b class="web-symbol"></b></a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="accordion-group">
|
||||
<div class="accordion-heading">
|
||||
<a href="#collapse-category" data-toggle="collapse" data-parent="#filter" class="accordion-toggle"><%= t(:categories) %> <b class="web-symbol"></b></a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="accordion-group">
|
||||
<div class="accordion-heading">
|
||||
<a href="#collapse-tags" data-toggle="collapse" data-parent="#filter" class="accordion-toggle"><%= t(:tags) %> <b class="web-symbol"></b></a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="filters accordion-group">
|
||||
<div class="accordion-body collapse" id="collapse-status">
|
||||
<%= render 'filter_status' %>
|
||||
</div>
|
||||
<div class="accordion-body collapse" id="collapse-category">
|
||||
<%= render 'filter_categories' %>
|
||||
</div>
|
||||
<div class="accordion-body collapse" id="collapse-tags">
|
||||
<%= render 'filter_tags' %>
|
||||
</div>
|
||||
<div id="sort_headers" class="table-label">
|
||||
<%= render 'sort_headers' %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% content_for :page_specific_javascript do %>
|
||||
<%= javascript_include_tag "sort_header" %>
|
||||
<% end %>
|
||||
-6
@@ -1,6 +0,0 @@
|
||||
<div class="accordion-inner" data-toggle="buttons-checkbox">
|
||||
<% @bulletin_categories.each do |category| -%>
|
||||
<%= link_to category.title, panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'categories', :id => category.id}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('categories', category.id)}" %>
|
||||
<% end -%>
|
||||
</div>
|
||||
<%= render :partial => 'clear_filters', :locals => {:type => 'categories'} %>
|
||||
-9
@@ -1,9 +0,0 @@
|
||||
<div class="accordion-inner" data-toggle="buttons-checkbox">
|
||||
<%= link_to t(:top), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_top'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('status', 'is_top')}" %>
|
||||
<%= link_to t(:hot), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_hot'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('status', 'is_hot')}" %>
|
||||
<%= link_to t(:hidden), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_hidden'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('status', 'is_hidden')}" unless(is_guest?)%>
|
||||
<%= link_to t(:pending), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_pending'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('status', 'is_pending')}" if(is_manager?)%>
|
||||
<%= link_to t(:passed), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_checked'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('status', 'is_checked')}" if(is_manager?)%>
|
||||
<%= link_to t(:rejected), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_rejected'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('status', 'is_rejected')}" if(is_manager?)%>
|
||||
</div>
|
||||
<%= render :partial => 'clear_filters', :locals => {:type => 'status'} %>
|
||||
-6
@@ -1,6 +0,0 @@
|
||||
<div class="accordion-inner" data-toggle="buttons-checkbox">
|
||||
<% @tags.each do |tag| -%>
|
||||
<%= link_to tag.name, panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'tags', :id => tag.id}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('tags', tag.id)}" %>
|
||||
<% end -%>
|
||||
</div>
|
||||
<%= render :partial => 'clear_filters', :locals => {:type => 'tags'} %>
|
||||
Vendored
+294
-291
@@ -1,305 +1,308 @@
|
||||
<% # encoding: utf-8 %>
|
||||
<% content_for :page_specific_javascript do -%>
|
||||
<%= javascript_include_tag "inc/modal-preview" %>
|
||||
<% end -%>
|
||||
<!--Widget start-->
|
||||
<%= f.error_messages %>
|
||||
|
||||
<div id="sub-wiget">
|
||||
<% content_for :page_specific_css do %>
|
||||
<%= stylesheet_link_tag "lib/main-forms" %>
|
||||
<%= stylesheet_link_tag "lib/fileupload" %>
|
||||
<% end %>
|
||||
<% content_for :page_specific_javascript do %>
|
||||
<%= javascript_include_tag "lib/bootstrap-fileupload" %>
|
||||
<%= javascript_include_tag "lib/bootstrap-datetimepicker" %>
|
||||
<%#= javascript_include_tag "lib/datetimepicker/date.time.picker.js" %>
|
||||
<%= javascript_include_tag "lib/datetimepicker/datetimepicker.js" %>
|
||||
<%#= javascript_include_tag "lib/ckeditor/ckeditor.js" %>
|
||||
<%= javascript_include_tag "lib/modal-preview" %>
|
||||
<% end %>
|
||||
|
||||
<div id="widget-picture" class="widget-box">
|
||||
<div class="widget-action clear tip" title="Upload pictures">
|
||||
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
|
||||
</div>
|
||||
<h3 class="widget-title"><i class="icons-pictures"></i><%= t('announcement.picture') %></h3>
|
||||
<div class="widget-content clear">
|
||||
<div class="control-group">
|
||||
<!-- <img class="pull-left upload-picture" src="/assets/default-img.png" /> -->
|
||||
<div class="upload-picture">
|
||||
<% if @bulletin.image %>
|
||||
<%= image_tag @bulletin.image rescue ''%>
|
||||
<% else %>
|
||||
<img class="pull-left upload-picture" src="/assets/default-img.png" />
|
||||
<% end %>
|
||||
<%= f.error_messages %>
|
||||
|
||||
<!-- Input Area -->
|
||||
<div class="input-area">
|
||||
|
||||
<!-- Module Tabs -->
|
||||
<% if @bulletin.is_rejected %>
|
||||
<div class="alert alert-error">
|
||||
<strong><%= t(:rejected_reason) %></strong> <%= @bulletin.not_checked_reason rescue t("rejected_reason_empty") %>
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="nav-name"><strong><%= t(:module) %></strong></div>
|
||||
<ul class="nav nav-pills module-nav">
|
||||
<li></li>
|
||||
<li class="active">
|
||||
<a href="#basic" data-toggle="tab"><%= t(:basic) %></a>
|
||||
</li>
|
||||
<% if show_form_status_field(@bulletin) %>
|
||||
<li>
|
||||
<a href="#status" data-toggle="tab"><%= t(:status) %></a>
|
||||
</li>
|
||||
<% end %>
|
||||
<li>
|
||||
<a href="#tag" data-toggle="tab"><%= t(:tags) %></a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#imageupload" data-toggle="tab"><%= t(:image) %></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<!-- Module -->
|
||||
<div class="tab-content module-area">
|
||||
|
||||
<!-- Basic Module -->
|
||||
<div class="tab-pane fade in active" id="basic">
|
||||
|
||||
<!-- Category -->
|
||||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t(:category) %></label>
|
||||
<div class="controls">
|
||||
<%= f.select :category, @categories.collect{|t| [ t.title, t.id ]} %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Date Time Picker -->
|
||||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t(:start) %></label>
|
||||
<div class="controls">
|
||||
<%= f.datetime_picker :postdate, :no_label => true %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t(:end) %></label>
|
||||
<div class="controls">
|
||||
<%= f.datetime_picker :deadline, :no_label => true %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Status Module -->
|
||||
<% if show_form_status_field(@bulletin) %>
|
||||
<div class="tab-pane fade" id="status">
|
||||
|
||||
<!-- Status -->
|
||||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t(:status) %></label>
|
||||
<div class="controls" data-toggle="buttons-checkbox">
|
||||
<label class="checkbox inline btn <%= 'active' if @bulletin.is_top? %>">
|
||||
<%= f.check_box :is_top %> <%= t(:top) %>
|
||||
</label>
|
||||
<label class="checkbox inline btn <%= 'active' if @bulletin.is_hot? %>">
|
||||
<%= f.check_box :is_hot %> <%= t(:hot) %>
|
||||
</label>
|
||||
<label class="checkbox inline btn <%= 'active' if @bulletin.is_hidden? %>">
|
||||
<%= f.check_box :is_hidden %> <%= t(:hide) %>
|
||||
</label>
|
||||
</div>
|
||||
<span class="alert widgetInfo"><%= t("ad.widget_info_for_ad_image_size", :best_size=> "290px x 150px") %></span>
|
||||
<div class="controls file-upload input-prepend">
|
||||
<%= t(:browse) %>
|
||||
<%= f.file_field :image, :id => "input-upload", :class => '', :onchange => "document.getElementById('fu').innerHTML = this.form.fu.value = this.value;" %>
|
||||
<!-- <span id='fu' class="file-name"></span>
|
||||
<br>
|
||||
<input name='fu' class="input-medium" type="text">
|
||||
<br> -->
|
||||
<% if @bulletin.image.file %>
|
||||
<%= f.check_box :remove_image %>
|
||||
<%= t('delete.file') %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="widget-date" class="widget-box widget-size-300">
|
||||
<div class="widget-action clear tip" title="Set the announcement to start and end dates">
|
||||
<a href="#" class="action"><i class="icon-exclamation-sign icon-white"></i></a>
|
||||
</div>
|
||||
<h3 class="widget-title"><i class="icons-calendar"></i><%= t(:date_) %></h3>
|
||||
<div class="widget-content clear">
|
||||
<div class="control-group">
|
||||
<%= f.datetime_picker :postdate, :picker_type => 'separated', :label => t(:start) %>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<%= f.datetime_picker :deadline, :picker_type => 'separated', :label => t(:end) %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% if show_form_status_field(@bulletin)%>
|
||||
<div id="widget-status" class="widget-box widget-size-300">
|
||||
<div class="widget-action clear tip" title="Setting the announcement state">
|
||||
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
|
||||
</div>
|
||||
<h3 class="widget-title"><i class="icons-star"></i><%= t(:status) %></h3>
|
||||
<div class="widget-content clear">
|
||||
<div class="controls">
|
||||
<%= content_tag :label,:class => "checkbox inline" do -%>
|
||||
<%= f.check_box :is_top %>
|
||||
<%= t('top') %>
|
||||
<% end -%>
|
||||
<%= content_tag :label,:class => "checkbox inline" do -%>
|
||||
<%= f.check_box :is_hot %>
|
||||
<%= t('hot') %>
|
||||
<% end -%>
|
||||
<%= content_tag :label,:class => "checkbox inline" do -%>
|
||||
<%= f.check_box :is_hidden %>
|
||||
<%= t('hide') %>
|
||||
<% end -%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% if @bulletin.is_rejected %>
|
||||
<div id="widget-rejected" class="widget-box widget-size-300">
|
||||
<div class="widget-action clear tip" title="Rejected Report">
|
||||
<a class="action"><i class="icon-cog icon-white"></i></a>
|
||||
</div>
|
||||
<h3 class="widget-title"><i class="icons-tag"></i><%= t('approval.stat') %></h3>
|
||||
<div class="widget-content clear form-horizontal">
|
||||
<%= @bulletin.not_checked_reason rescue t("rejected_reason_empty") %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<div id="widget-tags" class="widget-box widget-size-300">
|
||||
<div class="widget-action clear tip" title="Setting">
|
||||
<a class="action"><i class="icon-cog icon-white"></i></a>
|
||||
</div>
|
||||
<h3 class="widget-title"><i class="icons-tag"></i><%= t(:tags) %></h3>
|
||||
<div class="widget-content clear form-horizontal">
|
||||
<p>
|
||||
<% @tags.each do |tag| %>
|
||||
<%= content_tag :label,:class => "checkbox inline" do -%>
|
||||
<%= check_box_tag 'bulletin[tag_ids][]', tag.id, @bulletin.tag_ids.include?(tag.id) %>
|
||||
<%= tag.name %>
|
||||
<%= hidden_field_tag 'bulletin[tag_ids][]', '' %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<% if params[:action] != 'new' %>
|
||||
<div id="widget-audit" class="widget-box">
|
||||
<div class="widget-action clear tip" title="A">
|
||||
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<% elsif current_user.admin? %>
|
||||
<%= f.hidden_field :is_checked,:value => true%>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<!-- Tag Module -->
|
||||
<div class="tab-pane fade" id="tag">
|
||||
|
||||
<!--Wiget End-->
|
||||
<!--Post Start-->
|
||||
<!-- Tag -->
|
||||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t(:tags) %></label>
|
||||
<div class="controls" data-toggle="buttons-checkbox">
|
||||
<% @tags.each do |tag| %>
|
||||
<label class="checkbox inline btn <%= 'active' if @bulletin.tag_ids.include?(tag.id) %>">
|
||||
<%= check_box_tag 'bulletin[tag_ids][]', tag.id, @bulletin.tag_ids.include?(tag.id) %> <%= tag.name %>
|
||||
<%= hidden_field_tag 'bulletin[tag_ids][]', '' %>
|
||||
</label>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="post-body">
|
||||
<div id="post-body-content" class="clear">
|
||||
</div>
|
||||
|
||||
<%#= f.label :unit_list_for_anc%>
|
||||
<%#= f.select :unit_list_for_anc_id,@unit_list_for_anc.collect{|t| [ t.title, t.id ]}, {}, :class => "input-medium" %>
|
||||
|
||||
<%= f.label :category,t(:category)%>
|
||||
<%= f.select :bulletin_category_id, @bulletin_categorys.collect{|t| [ t.title, t.id ]}, {}, :class => "input-medium" %>
|
||||
|
||||
<ul class="nav nav-tabs">
|
||||
<%# @site_valid_locales.each_with_index do |locale, i| %>
|
||||
<% @site_valid_locales.each_with_index do |locale, i| %>
|
||||
<li <%= ( i == 0 ) ? " class=active" : '' %>><a data-toggle="tab" href=".<%= locale %>"><%= I18nVariable.from_locale(locale) %></a></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
|
||||
<%# @site_valid_locales.each_with_index do |locale, i| %>
|
||||
<% @site_valid_locales.each_with_index do |locale, i| %>
|
||||
|
||||
<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>">
|
||||
<!-- Images Module -->
|
||||
<div class="tab-pane fade" id="imageupload">
|
||||
|
||||
<div class="title">
|
||||
<%= f.label :title ,t(:title)%>
|
||||
<%= f.fields_for :title_translations do |f| %>
|
||||
<%= I18nVariable.from_locale(locale) %>
|
||||
<%= f.text_field locale, :class=>'post-title', :value => (@bulletin.title_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</div>
|
||||
<!-- Images Upload -->
|
||||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t(:image) %></label>
|
||||
<div class="controls">
|
||||
<!-- if this page editing please add class "fileupload-edit" -->
|
||||
<div class="fileupload fileupload-new clearfix <%= 'fileupload-edit' if @bulletin.image.file %>" data-provides="fileupload">
|
||||
<div class="fileupload-new thumbnail pull-left">
|
||||
<% if @bulletin.image.file %>
|
||||
<%= image_tag @bulletin.image %>
|
||||
<% else %>
|
||||
<img src="http://www.placehold.it/50x50/EFEFEF/AAAAAA" />
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="fileupload-preview fileupload-exists thumbnail pull-left"></div>
|
||||
<span class="btn btn-file">
|
||||
<span class="fileupload-new"><%= t(:select_image) %></span>
|
||||
<span class="fileupload-exists"><%= t(:change) %></span>
|
||||
<%= f.file_field :image %>
|
||||
</span>
|
||||
<a href="#" class="btn fileupload-exists" data-dismiss="fileupload"><%= t(:cancel) %></a>
|
||||
<div class="controls" data-toggle="buttons-checkbox">
|
||||
<label class="checkbox inline btn btn-danger fileupload-remove">
|
||||
<%= f.check_box :remove_image %><%= t(:remove) %>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="editor">
|
||||
<%= f.label :subtitle, t(:subtitle) %>
|
||||
<%= f.fields_for :subtitle_translations do |f| %>
|
||||
<%= I18nVariable.from_locale(locale) %>
|
||||
<%= f.text_area locale, :rows => 5, :style=>"width:100%", :value => (@bulletin.subtitle_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="editor">
|
||||
<%= f.label :text ,t(:text)%>
|
||||
<%= f.fields_for :text_translations do |f| %>
|
||||
<%= I18nVariable.from_locale(locale) %>
|
||||
<%= f.text_area locale, :style=>"width:100%", :class => 'tinymce_textarea', :value => (@bulletin.text_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="main-wiget">
|
||||
<div id="widget-link" class="widget-box">
|
||||
<div class="widget-action clear tip" title="Add a reference link">
|
||||
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
|
||||
</div>
|
||||
<h3 class="widget-title"><i class="icons-link"></i><%= t(:link) %></h3>
|
||||
<div class="widget-content">
|
||||
|
||||
<div id='bulletin_links' class="bulletin_links_block">
|
||||
|
||||
<table class="table table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><%= t('announcement.url') %></th>
|
||||
<th><%= t('announcement.link_name') %></th>
|
||||
<th class="span1"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td style="text-align:center" colspan="4">
|
||||
<div id='add_bulletin_link' class="info_input bulletin_links_block">
|
||||
<%= hidden_field_tag 'bulletin_link_field_count', @bulletin.bulletin_links.count %>
|
||||
<a class="add"><span class="btn btn-primary btn-small"><i class="icon-plus icon-white"></i><%= t(:add) %></span></a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
|
||||
<% @bulletin.bulletin_links.each_with_index do |bulletin_link, i| %>
|
||||
<%#= fields_for "bulletin[bulletin_links][]", bulletin_link do |f| %>
|
||||
<%= f.fields_for :bulletin_links, bulletin_link do |f| %>
|
||||
<%= render :partial => 'form_bulletin_link', :object => bulletin_link, :locals => {:f => f, :i => i} %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="widget-file" class="widget-box">
|
||||
<div class="widget-action clear tip" title="Added to the file">
|
||||
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
|
||||
</div>
|
||||
<h3 class="widget-title"><i class="icons-paperclip"></i><%= t('announcement.file') %></h3>
|
||||
<div class="widget-content">
|
||||
|
||||
<div id='bulletin_files' class="bulletin_files_block">
|
||||
|
||||
<table class="table table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><%= t('announcement.selected_file') %></th>
|
||||
<th><%= t('announcement.file_name') %></th>
|
||||
<th><%= t('announcement.file_description') %></th>
|
||||
<th class="span1"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td style="text-align:center" colspan="4">
|
||||
<div id='add_bulletin_file' class="info_input bulletin_files_block">
|
||||
<%= hidden_field_tag 'bulletin_file_field_count', @bulletin.bulletin_files.count %>
|
||||
<a class="add"><span class="btn btn-primary btn-small"><i class="icon-plus icon-white"></i><%= t(:add) %></span></a>
|
||||
<p><%= t("sys.limit_of_upload_file_size",:best_size => '3MB') %></p>
|
||||
<p><%= t("sys.preview_only_for_img") %></p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
<% @bulletin.bulletin_files.each_with_index do |bulletin_file, i| %>
|
||||
<%#= fields_for "bulletin[bulletin_files][]", bulletin_file do |f| %>
|
||||
<%= f.fields_for :bulletin_files, bulletin_file do |f| %>
|
||||
<%= render :partial => 'form_bulletin_file', :object => bulletin_file, :locals => {:f => f, :i => i} %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--Post End-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-actions">
|
||||
<%= button_tag t("preview"), :id=>"button_for_preview", :name=>"commit",:class=>'btn post_preview two_btn',:type=>:button,:url=>preview_panel_announcement_back_end_bulletins_path %>
|
||||
<%= f.submit t('submit'), :class=>'btn btn-primary two_btn' %>
|
||||
<%= link_to t('cancel'), get_go_back, :class=>"btn" %>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- Language Tabs -->
|
||||
<div class="nav-name"><strong><%= t(:language) %></strong></div>
|
||||
<ul class="nav nav-pills language-nav">
|
||||
<% @site_valid_locales.each_with_index do |locale, i| %>
|
||||
<li class="<%= 'active' if i == 0 %>">
|
||||
<a data-toggle="tab" href=".<%= locale %>"><%= I18nVariable.from_locale(locale) %></a>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
<!-- Language -->
|
||||
<div class="tab-content language-area">
|
||||
|
||||
<% @site_valid_locales.each_with_index do |locale, i| %>
|
||||
|
||||
<div class="<%= locale %> tab-pane fade <%= ( i == 0 ) ? "in active" : '' %>">
|
||||
|
||||
<!-- Title-->
|
||||
<div class="control-group input-title">
|
||||
<label class="control-label muted"><%= t(:title) %></label>
|
||||
<div class="controls">
|
||||
<%= f.fields_for :title_translations do |f| %>
|
||||
<%= f.text_field locale, class: "input-block-level", placeholder: t(:title), value: (@bulletin.title_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Sub Title -->
|
||||
<div class="control-group input-subtitle">
|
||||
<label class="control-label muted"><%= t(:subtitle) %></label>
|
||||
<div class="controls">
|
||||
<div class="textarea">
|
||||
<%= f.fields_for :subtitle_translations do |f| %>
|
||||
<%= f.text_area locale, rows: 2, class: "input-block-level", value: (@bulletin.subtitle_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Content -->
|
||||
<div class="control-group input-content">
|
||||
<label class="control-label muted"><%= t(:content) %></label>
|
||||
<div class="controls">
|
||||
<div class="textarea">
|
||||
<%= f.fields_for :text_translations do |f| %>
|
||||
<%= f.text_area locale, rows: 5, class: "ckeditor input-block-level", id: "content_#{locale}", name: "content_#{locale}", :value => (@bulletin.text_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
<!-- Link -->
|
||||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t(:link) %></label>
|
||||
<div class="controls add-input">
|
||||
|
||||
<!-- Exist -->
|
||||
<% if @bulletin && !@bulletin.bulletin_links.blank? %>
|
||||
<div class="exist">
|
||||
<% @bulletin.bulletin_links.each_with_index do |bulletin_link, i| %>
|
||||
<%= f.fields_for :bulletin_links, bulletin_link do |f| %>
|
||||
<%= render :partial => 'form_link', :object => bulletin_link, :locals => {:f => f, :i => i} %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<hr>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<!-- Add -->
|
||||
<div class="add-target">
|
||||
</div>
|
||||
<p class="add-btn">
|
||||
<%= hidden_field_tag 'bulletin_link_field_count', @bulletin.bulletin_links.count %>
|
||||
<a id="add_link" class="trigger btn btn-small btn-primary"><i class="icons-plus"></i> <%= t(:add) %></a>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- File -->
|
||||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t(:file_) %></label>
|
||||
<div class="controls">
|
||||
|
||||
<!-- Exist -->
|
||||
<% if @bulletin && !@bulletin.bulletin_files.blank? %>
|
||||
<div class="exist">
|
||||
<% @bulletin.bulletin_files.each_with_index do |bulletin_file, i| %>
|
||||
<%= f.fields_for :bulletin_files, bulletin_file do |f| %>
|
||||
<%= render :partial => 'form_file', :object => bulletin_file, :locals => {:f => f, :i => i} %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<hr>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<!-- Add -->
|
||||
<div class="add-target">
|
||||
</div>
|
||||
<p class="add-btn">
|
||||
<%= hidden_field_tag 'bulletin_file_field_count', @bulletin.bulletin_files.count %>
|
||||
<a id="add_file" class="trigger btn btn-small btn-primary"><i class="icons-plus"></i> <%= t(:add) %></a>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Form Actions -->
|
||||
<div class="form-actions">
|
||||
<%= f.submit t('submit'), class: 'btn btn-primary' %>
|
||||
<%= button_tag t("preview"), id: "button_for_preview", name: "commit", class: 'btn post_preview', type: :button, url: preview_panel_announcement_back_end_bulletins_path %>
|
||||
<%= link_to t('cancel'), get_go_back, :class=>"btn" %>
|
||||
</div>
|
||||
|
||||
<% content_for :page_specific_javascript do %>
|
||||
<%= javascript_include_tag "bulletin_form" %>
|
||||
<%= javascript_include_tag "inc/jquery.imagesloaded.js" %>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
$('#add_bulletin_link a.add').live('click', function(){
|
||||
var new_id = $(this).prev().attr('value');
|
||||
var old_id = new RegExp("new_bulletin_links", "g");
|
||||
$(this).prev().attr('value', parseInt(new_id) + 1);
|
||||
$(this).parents('table').append(("<%= escape_javascript(add_attribute 'form_bulletin_link', f, :bulletin_links) %>").replace(old_id, new_id));
|
||||
});
|
||||
$('#add_bulletin_file a.add').live('click', function(){
|
||||
var new_id = $(this).prev().attr('value');
|
||||
var old_id = new RegExp("new_bulletin_files", "g");
|
||||
$(this).prev().attr('value', parseInt(new_id) + 1);
|
||||
$(this).parents('table').append(("<%= escape_javascript(add_attribute 'form_bulletin_file', f, :bulletin_files) %>").replace(old_id, new_id));
|
||||
});
|
||||
$('.for_preview').popover({ html : true });
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$(document).on('click', '#add_link', function(){
|
||||
var new_id = $(this).prev().attr('value');
|
||||
var old_id = new RegExp("new_bulletin_links", "g");
|
||||
var on = $('.language-nav li.active').index();
|
||||
var le = $(this).parent('.add-btn').prev('.add-target').children('.start-line').length;
|
||||
$(this).prev().attr('value', parseInt(new_id) + 1);
|
||||
$(this).parent().siblings('.add-target').append(("<%= escape_javascript(add_attribute 'form_link', f, :bulletin_links) %>").replace(old_id, new_id));
|
||||
$(this).parent('.add-btn').prev('.add-target').children('.start-line').eq(le).children('.tab-content').children('.tab-pane').eq(on).addClass('in active').siblings().removeClass('in active');
|
||||
});
|
||||
$(document).on('click', '#add_file', function(){
|
||||
var new_id = $(this).prev().attr('value');
|
||||
var old_id = new RegExp("new_bulletin_files", "g");
|
||||
var on = $('.language-nav li.active').index();
|
||||
var le = $(this).parent('.add-btn').prev('.add-target').children('.start-line').length;
|
||||
$(this).prev().attr('value', parseInt(new_id) + 1);
|
||||
$(this).parent().siblings('.add-target').append(("<%= escape_javascript(add_attribute 'form_file', f, :bulletin_files) %>").replace(old_id, new_id));
|
||||
$(this).parent('.add-btn').prev('.add-target').children('.start-line').eq(le).children('.input-append').find('.tab-content').each(function() {
|
||||
$(this).children('.tab-pane').eq(on).addClass('in active').siblings().removeClass('in active');
|
||||
});
|
||||
});
|
||||
$('.for_preview').popover({ html : true });
|
||||
$(document).on('click', '.delete_link', function(){
|
||||
$(this).parents('.input-prepend').remove();
|
||||
});
|
||||
$(document).on('click', '.remove_existing_record', function(){
|
||||
if(confirm("<%= I18n.t(:sure?)%>")){
|
||||
$(this).next('.should_destroy').attr('value', 1);
|
||||
$(this).parents('.start-line').hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<% end %>
|
||||
+305
@@ -0,0 +1,305 @@
|
||||
<% # encoding: utf-8 %>
|
||||
<% content_for :page_specific_javascript do -%>
|
||||
<%= javascript_include_tag "inc/modal-preview" %>
|
||||
<% end -%>
|
||||
<!--Widget start-->
|
||||
<%= f.error_messages %>
|
||||
|
||||
<div id="sub-wiget">
|
||||
|
||||
<div id="widget-picture" class="widget-box">
|
||||
<div class="widget-action clear tip" title="Upload pictures">
|
||||
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
|
||||
</div>
|
||||
<h3 class="widget-title"><i class="icons-pictures"></i><%= t('announcement.picture') %></h3>
|
||||
<div class="widget-content clear">
|
||||
<div class="control-group">
|
||||
<!-- <img class="pull-left upload-picture" src="/assets/default-img.png" /> -->
|
||||
<div class="upload-picture">
|
||||
<% if @bulletin.image %>
|
||||
<%= image_tag @bulletin.image rescue ''%>
|
||||
<% else %>
|
||||
<img class="pull-left upload-picture" src="/assets/default-img.png" />
|
||||
<% end %>
|
||||
</div>
|
||||
<span class="alert widgetInfo"><%= t("ad.widget_info_for_ad_image_size", :best_size=> "290px x 150px") %></span>
|
||||
<div class="controls file-upload input-prepend">
|
||||
<%= t(:browse) %>
|
||||
<%= f.file_field :image, :id => "input-upload", :class => '', :onchange => "document.getElementById('fu').innerHTML = this.form.fu.value = this.value;" %>
|
||||
<!-- <span id='fu' class="file-name"></span>
|
||||
<br>
|
||||
<input name='fu' class="input-medium" type="text">
|
||||
<br> -->
|
||||
<% if @bulletin.image.file %>
|
||||
<%= f.check_box :remove_image %>
|
||||
<%= t('delete.file') %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="widget-date" class="widget-box widget-size-300">
|
||||
<div class="widget-action clear tip" title="Set the announcement to start and end dates">
|
||||
<a href="#" class="action"><i class="icon-exclamation-sign icon-white"></i></a>
|
||||
</div>
|
||||
<h3 class="widget-title"><i class="icons-calendar"></i><%= t(:date_) %></h3>
|
||||
<div class="widget-content clear">
|
||||
<div class="control-group">
|
||||
<%= f.datetime_picker :postdate, :picker_type => 'separated', :label => t(:start) %>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<%= f.datetime_picker :deadline, :picker_type => 'separated', :label => t(:end) %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% if show_form_status_field(@bulletin)%>
|
||||
<div id="widget-status" class="widget-box widget-size-300">
|
||||
<div class="widget-action clear tip" title="Setting the announcement state">
|
||||
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
|
||||
</div>
|
||||
<h3 class="widget-title"><i class="icons-star"></i><%= t(:status) %></h3>
|
||||
<div class="widget-content clear">
|
||||
<div class="controls">
|
||||
<%= content_tag :label,:class => "checkbox inline" do -%>
|
||||
<%= f.check_box :is_top %>
|
||||
<%= t('top') %>
|
||||
<% end -%>
|
||||
<%= content_tag :label,:class => "checkbox inline" do -%>
|
||||
<%= f.check_box :is_hot %>
|
||||
<%= t('hot') %>
|
||||
<% end -%>
|
||||
<%= content_tag :label,:class => "checkbox inline" do -%>
|
||||
<%= f.check_box :is_hidden %>
|
||||
<%= t('hide') %>
|
||||
<% end -%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% if @bulletin.is_rejected %>
|
||||
<div id="widget-rejected" class="widget-box widget-size-300">
|
||||
<div class="widget-action clear tip" title="Rejected Report">
|
||||
<a class="action"><i class="icon-cog icon-white"></i></a>
|
||||
</div>
|
||||
<h3 class="widget-title"><i class="icons-tag"></i><%= t('approval.stat') %></h3>
|
||||
<div class="widget-content clear form-horizontal">
|
||||
<%= @bulletin.not_checked_reason rescue t("rejected_reason_empty") %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<div id="widget-tags" class="widget-box widget-size-300">
|
||||
<div class="widget-action clear tip" title="Setting">
|
||||
<a class="action"><i class="icon-cog icon-white"></i></a>
|
||||
</div>
|
||||
<h3 class="widget-title"><i class="icons-tag"></i><%= t(:tags) %></h3>
|
||||
<div class="widget-content clear form-horizontal">
|
||||
<p>
|
||||
<% @tags.each do |tag| %>
|
||||
<%= content_tag :label,:class => "checkbox inline" do -%>
|
||||
<%= check_box_tag 'bulletin[tag_ids][]', tag.id, @bulletin.tag_ids.include?(tag.id) %>
|
||||
<%= tag.name %>
|
||||
<%= hidden_field_tag 'bulletin[tag_ids][]', '' %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<% if params[:action] != 'new' %>
|
||||
<div id="widget-audit" class="widget-box">
|
||||
<div class="widget-action clear tip" title="A">
|
||||
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<% elsif current_user.admin? %>
|
||||
<%= f.hidden_field :is_checked,:value => true%>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
|
||||
<!--Wiget End-->
|
||||
<!--Post Start-->
|
||||
|
||||
<div id="post-body">
|
||||
<div id="post-body-content" class="clear">
|
||||
|
||||
<%#= f.label :unit_list_for_anc%>
|
||||
<%#= f.select :unit_list_for_anc_id,@unit_list_for_anc.collect{|t| [ t.title, t.id ]}, {}, :class => "input-medium" %>
|
||||
|
||||
<%= f.label :category,t(:category)%>
|
||||
<%= f.select :category_id, @bulletin_categories.collect{|t| [ t.title, t.id ]}, {}, :class => "input-medium" %>
|
||||
|
||||
<ul class="nav nav-tabs">
|
||||
<%# @site_valid_locales.each_with_index do |locale, i| %>
|
||||
<% @site_valid_locales.each_with_index do |locale, i| %>
|
||||
<li <%= ( i == 0 ) ? " class=active" : '' %>><a data-toggle="tab" href=".<%= locale %>"><%= I18nVariable.from_locale(locale) %></a></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
|
||||
<%# @site_valid_locales.each_with_index do |locale, i| %>
|
||||
<% @site_valid_locales.each_with_index do |locale, i| %>
|
||||
|
||||
<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>">
|
||||
|
||||
<div class="title">
|
||||
<%= f.label :title ,t(:title)%>
|
||||
<%= f.fields_for :title_translations do |f| %>
|
||||
<%= I18nVariable.from_locale(locale) %>
|
||||
<%= f.text_field locale, :class=>'post-title', :value => (@bulletin.title_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="editor">
|
||||
<%= f.label :subtitle, t(:subtitle) %>
|
||||
<%= f.fields_for :subtitle_translations do |f| %>
|
||||
<%= I18nVariable.from_locale(locale) %>
|
||||
<%= f.text_area locale, :rows => 5, :style=>"width:100%", :value => (@bulletin.subtitle_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="editor">
|
||||
<%= f.label :text ,t(:text)%>
|
||||
<%= f.fields_for :text_translations do |f| %>
|
||||
<%= I18nVariable.from_locale(locale) %>
|
||||
<%= f.text_area locale, :style=>"width:100%", :class => 'tinymce_textarea', :value => (@bulletin.text_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="main-wiget">
|
||||
<div id="widget-link" class="widget-box">
|
||||
<div class="widget-action clear tip" title="Add a reference link">
|
||||
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
|
||||
</div>
|
||||
<h3 class="widget-title"><i class="icons-link"></i><%= t(:link) %></h3>
|
||||
<div class="widget-content">
|
||||
|
||||
<div id='bulletin_links' class="bulletin_links_block">
|
||||
|
||||
<table class="table table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><%= t('announcement.url') %></th>
|
||||
<th><%= t('announcement.link_name') %></th>
|
||||
<th class="span1"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td style="text-align:center" colspan="4">
|
||||
<div id='add_bulletin_link' class="info_input bulletin_links_block">
|
||||
<%= hidden_field_tag 'bulletin_link_field_count', @bulletin.bulletin_links.count %>
|
||||
<a class="add"><span class="btn btn-primary btn-small"><i class="icon-plus icon-white"></i><%= t(:add) %></span></a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
|
||||
<% @bulletin.bulletin_links.each_with_index do |bulletin_link, i| %>
|
||||
<%#= fields_for "bulletin[bulletin_links][]", bulletin_link do |f| %>
|
||||
<%= f.fields_for :bulletin_links, bulletin_link do |f| %>
|
||||
<%= render :partial => 'form_bulletin_link', :object => bulletin_link, :locals => {:f => f, :i => i} %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="widget-file" class="widget-box">
|
||||
<div class="widget-action clear tip" title="Added to the file">
|
||||
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
|
||||
</div>
|
||||
<h3 class="widget-title"><i class="icons-paperclip"></i><%= t('announcement.file') %></h3>
|
||||
<div class="widget-content">
|
||||
|
||||
<div id='bulletin_files' class="bulletin_files_block">
|
||||
|
||||
<table class="table table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><%= t('announcement.selected_file') %></th>
|
||||
<th><%= t('announcement.file_name') %></th>
|
||||
<th><%= t('announcement.file_description') %></th>
|
||||
<th class="span1"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td style="text-align:center" colspan="4">
|
||||
<div id='add_bulletin_file' class="info_input bulletin_files_block">
|
||||
<%= hidden_field_tag 'bulletin_file_field_count', @bulletin.bulletin_files.count %>
|
||||
<a class="add"><span class="btn btn-primary btn-small"><i class="icon-plus icon-white"></i><%= t(:add) %></span></a>
|
||||
<p><%= t("sys.limit_of_upload_file_size",:best_size => '3MB') %></p>
|
||||
<p><%= t("sys.preview_only_for_img") %></p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
<% @bulletin.bulletin_files.each_with_index do |bulletin_file, i| %>
|
||||
<%#= fields_for "bulletin[bulletin_files][]", bulletin_file do |f| %>
|
||||
<%= f.fields_for :bulletin_files, bulletin_file do |f| %>
|
||||
<%= render :partial => 'form_bulletin_file', :object => bulletin_file, :locals => {:f => f, :i => i} %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--Post End-->
|
||||
</div>
|
||||
|
||||
<div class="form-actions">
|
||||
<%= button_tag t("preview"), :id=>"button_for_preview", :name=>"commit",:class=>'btn post_preview two_btn',:type=>:button,:url=>preview_panel_announcement_back_end_bulletins_path %>
|
||||
<%= f.submit t('submit'), :class=>'btn btn-primary two_btn' %>
|
||||
<%= link_to t('cancel'), get_go_back, :class=>"btn" %>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<% content_for :page_specific_javascript do %>
|
||||
<%= javascript_include_tag "bulletin_form" %>
|
||||
<%= javascript_include_tag "inc/jquery.imagesloaded.js" %>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
$('#add_bulletin_link a.add').live('click', function(){
|
||||
var new_id = $(this).prev().attr('value');
|
||||
var old_id = new RegExp("new_bulletin_links", "g");
|
||||
$(this).prev().attr('value', parseInt(new_id) + 1);
|
||||
$(this).parents('table').append(("<%= escape_javascript(add_attribute 'form_bulletin_link', f, :bulletin_links) %>").replace(old_id, new_id));
|
||||
});
|
||||
$('#add_bulletin_file a.add').live('click', function(){
|
||||
var new_id = $(this).prev().attr('value');
|
||||
var old_id = new RegExp("new_bulletin_files", "g");
|
||||
$(this).prev().attr('value', parseInt(new_id) + 1);
|
||||
$(this).parents('table').append(("<%= escape_javascript(add_attribute 'form_bulletin_file', f, :bulletin_files) %>").replace(old_id, new_id));
|
||||
});
|
||||
$('.for_preview').popover({ html : true });
|
||||
});
|
||||
</script>
|
||||
<% end %>
|
||||
-76
@@ -1,76 +0,0 @@
|
||||
<% # encoding: utf-8 %>
|
||||
|
||||
<tr id="<%= "bulletin_file_#{form_bulletin_file.id}" if !form_bulletin_file.new_record? %>" class='list_item'>
|
||||
<td>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<% if form_bulletin_file.new_record? %>
|
||||
<%= f.file_field :file %>
|
||||
<% end %>
|
||||
<%= form_bulletin_file.file.file ? ( link_to t(:view), form_bulletin_file.file.url, {:class => 'for_preview btn', :target => '_blank', :title => t(:view), "data-trigger" => :hover}.merge(file_picture_preview_setting(form_bulletin_file.file.url)) ) : '' %>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<div class="tab-content">
|
||||
|
||||
<% @site_valid_locales.each_with_index do |locale, i| %>
|
||||
|
||||
<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>">
|
||||
|
||||
<%= f.fields_for :title_translations do |f| %>
|
||||
<div class="control-group">
|
||||
<label for="link-<%= locale %>" class="control-label"><%= I18nVariable.first(:conditions => {:key => locale})[I18n.locale] %></label>
|
||||
<div class="controls">
|
||||
<%= f.text_field locale, :id => "link-#{locale}", :value => (form_bulletin_file.title_translations[locale] rescue nil) %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<div class="tab-content">
|
||||
|
||||
<% @site_valid_locales.each_with_index do |locale, i| %>
|
||||
|
||||
<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>">
|
||||
|
||||
<%= f.fields_for :description_translations do |f| %>
|
||||
<div class="control-group">
|
||||
<label for="link-<%= locale %>" class="control-label"><%= I18nVariable.first(:conditions => {:key => locale})[I18n.locale] %></label>
|
||||
<div class="controls">
|
||||
<%= f.text_field locale, :id => "link-#{locale}", :value => (form_bulletin_file.description_translations[locale] rescue nil) %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<span class="action">
|
||||
<% if form_bulletin_file.new_record? %>
|
||||
<a class="delete"><i class="icon-remove"></i></a>
|
||||
<% else %>
|
||||
<%= f.hidden_field :id %>
|
||||
<%= hidden_field_tag :tr, (dom_id form_bulletin_file) %>
|
||||
<a class="remove_existing_record"><i class="icon-remove"></i></a>
|
||||
<%= f.hidden_field :_destroy, :value => nil, :class => 'should_destroy' %>
|
||||
<% end %>
|
||||
</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
-48
@@ -1,48 +0,0 @@
|
||||
|
||||
<tr id="<%= "bulletin_link_#{form_bulletin_link.id}" if !form_bulletin_link.new_record? %>" class='list_item'>
|
||||
|
||||
<td>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<%= f.text_field :url %>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
|
||||
<div class="tab-content">
|
||||
|
||||
<% @site_valid_locales.each_with_index do |locale, i| %>
|
||||
|
||||
<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>">
|
||||
|
||||
<%= f.fields_for :title_translations do |f| %>
|
||||
<div class="control-group">
|
||||
<label for="link-<%= locale %>" class="control-label"><%= I18nVariable.first(:conditions => {:key => locale})[I18n.locale] %></label>
|
||||
<div class="controls">
|
||||
<%= f.text_field locale, :id => "link-#{locale}", :class => "input-xlarge", :value => (form_bulletin_link.title_translations[locale] rescue nil) %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<span class="action">
|
||||
<% if form_bulletin_link.new_record? %>
|
||||
<a class="delete"><i class="icon-remove"></i></a>
|
||||
<% else %>
|
||||
<%= f.hidden_field :id %>
|
||||
<%= hidden_field_tag :tr, (dom_id form_bulletin_link) %>
|
||||
<a class="remove_existing_record"><i class="icon-remove"></i></a>
|
||||
<%= f.hidden_field :_destroy, :value => nil, :class => 'should_destroy' %>
|
||||
<% end %>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
<% if form_file.new_record? %>
|
||||
<div class="fileupload fileupload-new start-line" data-provides="fileupload">
|
||||
<% else %>
|
||||
<div class="fileupload-new start-line">
|
||||
<%= link_to form_file.file_identifier, form_file.file.url, {:class => 'file-link for_preview', :target => '_blank', :title => t(:view), "data-trigger" => :hover}.merge(file_picture_preview_setting(form_file.file.url)) %>
|
||||
<% end %>
|
||||
<div class="input-prepend input-append">
|
||||
<% if form_file.new_record? %>
|
||||
<label>
|
||||
<span class="add-on btn btn-file">
|
||||
<i class="icons-paperclip"></i>
|
||||
<%= f.file_field :file %>
|
||||
</span>
|
||||
<div class="uneditable-input input-medium">
|
||||
<i class="icon-file fileupload-exists"></i>
|
||||
<span class="fileupload-preview"><%= t(:select_file) %></span>
|
||||
</div>
|
||||
</label>
|
||||
<% end %>
|
||||
<span class="add-on icons-pencil"></span>
|
||||
<span class="tab-content">
|
||||
<% @site_valid_locales.each_with_index do |locale, i| %>
|
||||
<span class="tab-pane fade <%= ( i == 0 ) ? "in active" : '' %> <%= locale %>">
|
||||
<%= f.fields_for :title_translations do |f| %>
|
||||
<%= f.text_field locale, :class => "input-medium", placeholder: t(:alternative), :value => (form_file.title_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</span>
|
||||
<% end %>
|
||||
</span>
|
||||
<span class="add-on icons-pencil"></span>
|
||||
<span class="tab-content">
|
||||
<% @site_valid_locales.each_with_index do |locale, i| %>
|
||||
<span class="tab-pane fade <%= ( i == 0 ) ? "in active" : '' %> <%= locale %>">
|
||||
<%= f.fields_for :description_translations do |f| %>
|
||||
<%= f.text_field locale, :class => "input-medium", placeholder: t(:description), :value => (form_file.description_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</span>
|
||||
<% end %>
|
||||
</span>
|
||||
</span>
|
||||
<span class="delete_file add-on btn">
|
||||
<% if form_file.new_record? %>
|
||||
<a class="icon-trash"></a>
|
||||
<% else %>
|
||||
<%= f.hidden_field :id %>
|
||||
<a class="remove_existing_record icon-remove"></a>
|
||||
<%= f.hidden_field :_destroy, :value => nil, :class => 'should_destroy' %>
|
||||
<% end %>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
<div class="input-prepend input-append start-line">
|
||||
<span class="add-on icons-link"></span>
|
||||
<%= f.text_field :url, class: "input-large", placeholder: t(:url) %>
|
||||
<span class="add-on icons-pencil"></span>
|
||||
<span class="tab-content">
|
||||
<% @site_valid_locales.each_with_index do |locale, i| %>
|
||||
<span class="tab-pane fade <%= ( i == 0 ) ? "in active" : '' %> <%= locale %>">
|
||||
<%= f.fields_for :title_translations do |f| %>
|
||||
<%= f.text_field locale, :class => "input-large", placeholder: t(:url_alt), :value => (form_link.title_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</span>
|
||||
<% end %>
|
||||
</span>
|
||||
<span class="delete_link add-on btn">
|
||||
<% if form_link.new_record? %>
|
||||
<a class="icon-trash"></a>
|
||||
<% else %>
|
||||
<%= f.hidden_field :id %>
|
||||
<a class="remove_existing_record icon-remove"></a>
|
||||
<%= f.hidden_field :_destroy, :value => nil, :class => 'should_destroy' %>
|
||||
<% end %>
|
||||
</span>
|
||||
</div>
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
<tr id="<%= dom_id list_bulletin_file %>">
|
||||
<td><%= list_bulletin_file.file.file ? ( link_to list_bulletin_file.title_translations['zh_tw'], list_bulletin_file.file.url, {:target => '_blank', :title => list_bulletin_file.description_translations['zh_tw']} ) : list_bulletin_file.title_translations['zh_tw'] %></td>
|
||||
<td><%= list_bulletin_file.file.file ? ( link_to list_bulletin_file.title_translations['en'], list_bulletin_file.file.url, {:target => '_blank', :title => list_bulletin_file.description_translations['en']} ) : list_bulletin_file.title_translations['zh_tw'] %></td>
|
||||
<td>
|
||||
<a href="<%= panel_announcement_back_end_bulletin_file_quick_edit_path(list_bulletin_file) %>#modal-file" data-toggle="modal" data-remote="true" class="action"><i class="icon-pencil"></i></a>
|
||||
<span class="action">
|
||||
<%= fields_for "bulletin[bulletin_files_attributes][]", list_bulletin_file, :index => list_bulletin_file_counter do |f| %>
|
||||
<%= f.hidden_field :id %>
|
||||
<%= hidden_field_tag :tr, (dom_id list_bulletin_file) %>
|
||||
<a class="remove_existing_record"><i class="icon-remove"></i></a>
|
||||
<%= f.hidden_field :_destroy, :value => nil , :class => 'should_destroy' %>
|
||||
<% end %>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-15
@@ -1,15 +0,0 @@
|
||||
<tr id="<%= dom_id list_bulletin_link %>">
|
||||
<td><%= link_to list_bulletin_link.title_translations['zh_tw'], list_bulletin_link.url, :target => '_blank' %></td>
|
||||
<td><%= link_to list_bulletin_link.title_translations['en'], list_bulletin_link.url, :target => '_blank' %></td>
|
||||
<td>
|
||||
<a href="<%= panel_announcement_back_end_bulletin_link_quick_edit_path(list_bulletin_link) %>#modal-link" data-toggle="modal" data-remote="true" class="action"><i class="icon-pencil"></i></a>
|
||||
<span class="action">
|
||||
<%= fields_for "bulletin[bulletin_links_attributes][]", list_bulletin_link, :index => list_bulletin_link_counter do |f| %>
|
||||
<%= f.hidden_field :id %>
|
||||
<%= hidden_field_tag :tr, (dom_id list_bulletin_link) %>
|
||||
<a class="remove_existing_record"><i class="icon-remove"></i></a>
|
||||
<%= f.hidden_field :_destroy, :value => nil, :class => 'should_destroy' %>
|
||||
<% end %>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
<div class="modal-body">
|
||||
<p class="bulletin_slideshow">
|
||||
|
||||
<iframe src=<%= panel_announcement_front_end_bulletin_path(bulletin, :category_id => bulletin.bulletin_category.id ,:preview=>true) %> style="width:1000px;height:300px" >
|
||||
<iframe src=<%= panel_announcement_front_end_bulletin_path(bulletin, :category_id => bulletin.category.id ,:preview=>true) %> style="width:1000px;height:300px" >
|
||||
|
||||
</iframe>
|
||||
|
||||
|
||||
-10
@@ -1,10 +0,0 @@
|
||||
<td colspan="8">
|
||||
<legend><%= t(:quick_edit) %> - <span class='qe_title'></span><%= t(type) %></legend>
|
||||
<%= form_for @bulletin, :url => panel_announcement_back_end_bulletin_path(@bulletin), :html => {:class => 'form-horizontal'} do |f| %>
|
||||
<%= render :partial => "panel/announcement/back_end/bulletins/quick_edit_#{@type}", :locals => { :f => f, :bulletin => @bulletin } %>
|
||||
<div class="form-actions">
|
||||
<%= f.submit t(:submit), :class => 'btn btn-primary' %>
|
||||
<%= f.submit t(:cancel), :class => 'btn quick_edit_cancel', :type => 'reset', :rel => dom_id(@bulletin, :edit) %>
|
||||
</div>
|
||||
<% end %>
|
||||
</td>
|
||||
-64
@@ -1,64 +0,0 @@
|
||||
<div id="qe-basic" class="qe-edit-div">
|
||||
<div id="widget-category">
|
||||
<div class="control-group">
|
||||
<label class="control-label"><%= t(:category) %></label>
|
||||
<div class="controls">
|
||||
<%= f.select :bulletin_category_id, @bulletin_categories.collect {|t| [ t.title, t.id ]}, {}, :class => 'input-large' %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="widget-title">
|
||||
<%= f.fields_for :title_translations do |f| %>
|
||||
<% @site_valid_locales.each do |locale| %>
|
||||
<div class="control-group">
|
||||
<%= label_tag "title-#{locale}", "#{t(:title)}-#{I18nVariable.from_locale(locale)}", :class => 'control-label' %>
|
||||
<div class="controls">
|
||||
<%= f.text_field locale, :class => 'input-xxlarge', :value => (bulletin.title_translations[locale] rescue nil) %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div id="widget-date">
|
||||
<div class="control-group">
|
||||
<label class="control-label"><%= t(:start) %></label>
|
||||
<div class="controls">
|
||||
<%= f.datetime_select :postdate, { :use_month_numbers => true, :order => [:day, :month, :year] }, :class => 'input-small' %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label"><%= t(:end) %></label>
|
||||
<div class="controls">
|
||||
<%= f.datetime_select :deadline, { :use_month_numbers => true, :prompt => { :month => 'Month', :day => 'Day', :year => 'Year'}, :order => [:day, :month, :year] }, :class => 'input-small' %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% if show_form_status_field(@bulletin)%>
|
||||
<div id="widget-status">
|
||||
<div class="control-group">
|
||||
<label class="control-label"><%= t(:status) %></label>
|
||||
<div class="controls">
|
||||
<label class="checkbox inline"><%= f.check_box :is_hot %><%= t(:hot) %></label>
|
||||
<label class="checkbox inline"><%= f.check_box :is_top %><%= t(:top) %></label>
|
||||
<label class="checkbox inline"><%= f.check_box :is_hidden %><%= t(:hidden) %></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% end -%>
|
||||
<!-- <div id="widget-role">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Role</label>
|
||||
<div class="controls">
|
||||
<label class="radio inline"><%= f.radio_button :public, true, :class => 'privacy' %>Public</label>
|
||||
<label class="radio inline"><%= f.radio_button :public, false, :class => 'privacy' %>Private</label>
|
||||
<div class="well select-role" style="display:<%= bulletin.public ? 'none' : 'block' %>;">
|
||||
<label class="checkbox inline"><input type="checkbox" value="student">Student</label>
|
||||
<label class="checkbox inline"><input type="checkbox" value="teacher">Teacher</label>
|
||||
<label class="checkbox inline"><input type="checkbox" value="staff">Staff</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
-26
@@ -1,26 +0,0 @@
|
||||
<div id="qe-file" class="qe-edit-div">
|
||||
<div id="widget-file">
|
||||
<div class="control-group">
|
||||
<table id="bulletin_files" class="table table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Chinese</th>
|
||||
<th>English</th>
|
||||
<th class="span1"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td style="text-align:center" colspan="3">
|
||||
<a class="btn btn-primary btn-small" href="<%= panel_announcement_back_end_bulletin_file_quick_add_path(bulletin) %>#modal-file" data-toggle="modal" data-remote="true"><i class="icon-plus icon-white"></i> <%= t('add')%></a>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
<%= render :partial => 'list_bulletin_file', :collection => bulletin.bulletin_files %>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
-27
@@ -1,27 +0,0 @@
|
||||
<div id="qe-link" class="qe-edit-div">
|
||||
<div id="widget-link">
|
||||
<div class="control-group">
|
||||
<table id="bulletin_links" class="table table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Chinese</th>
|
||||
<th>English</th>
|
||||
<th class="span1"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td style="text-align:center" colspan="3">
|
||||
<a class="btn btn-primary btn-small" href="<%= panel_announcement_back_end_bulletin_link_quick_add_path(bulletin) %>#modal-link" data-toggle="modal" data-remote="true"><i class="icon-plus icon-white"></i> <%= t('add')%></a>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
<%= render :partial => 'list_bulletin_link', :collection => bulletin.bulletin_links %>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
-25
@@ -1,25 +0,0 @@
|
||||
<div id="qe-picture" class="qe-edit-div">
|
||||
<div id="widget-picture clear">
|
||||
<div class="control-group">
|
||||
<!--<label class="control-label">Picture</label>-->
|
||||
<div class="control-group">
|
||||
<div class="controls upload-picture">
|
||||
<img class="pull-left upload-picture" src="" />
|
||||
</div>
|
||||
<div class="controls file-upload input-prepend">
|
||||
<label class="control-label add-on btn" for="input-upload">
|
||||
<%= t(:browse) %>
|
||||
<%= f.file_field :image, :id => "input-upload", :class => 'upload', :onchange => "document.getElementById('fu').innerHTML = this.form.fu.value = this.value;" %>
|
||||
</label>
|
||||
<span id='fu' class="file-name"></span>
|
||||
<input name='fu' class="input-medium qe-picture-rename" type="text">
|
||||
<br>
|
||||
<% if bulletin.image.file %>
|
||||
<%= f.check_box :remove_image %>
|
||||
<%= t('delete.file') %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
-15
@@ -1,15 +0,0 @@
|
||||
<div id="qe-tags" class="qe-edit-div">
|
||||
<div id="widget-tags">
|
||||
<div class="controls">
|
||||
<div class="form-horizontal">
|
||||
<% @tags.each do |tag| %>
|
||||
<label class="checkbox inline">
|
||||
<%= check_box_tag 'bulletin[tag_ids][]', tag.id, bulletin.tag_ids.include?(tag.id) %>
|
||||
<%= tag.name %>
|
||||
</label>
|
||||
<%= hidden_field_tag 'bulletin[tag_ids][]', '' %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
<%= render_sort_bar(true, delete_panel_announcement_back_end_bulletins_path(:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil, :sort_options => params[:sort_options]),
|
||||
['status', ['is_top', 'is_hot', 'is_hidden', 'is_pending', 'is_checked', 'is_rejected'], 'span1-2', :status],
|
||||
['category', 'bulletin_category', 'span1-2', :category],
|
||||
['title', 'title','span7', :title],
|
||||
['start_date', 'postdate', 'span1-2', :start_date],
|
||||
['end_date', 'deadline', 'span1-2', :end_date],
|
||||
['tags', 'tags', 'span1-2', :tags],
|
||||
['last_modified', 'update_user_id','span1-3', 'last_modified']).html_safe %>
|
||||
-1
@@ -1 +0,0 @@
|
||||
<%= render :partial => 'list_bulletin_file', :collection => [@bulletin_file] %>
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
$("#modal-file").modal('hide');
|
||||
$('<%= j render :partial => 'list_bulletin_file', :collection => [@bulletin_file] %>').appendTo('#bulletin_files').hide().fadeIn();
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
$("#modal-link").modal('hide');
|
||||
$('<%= j render :partial => 'list_bulletin_link', :collection => [@bulletin_link] %>').appendTo('#bulletin_links').hide().fadeIn();
|
||||
Vendored
+5
-14
@@ -1,14 +1,5 @@
|
||||
<!-- <ul class="breadcrumb">
|
||||
<li><span>Home</span><span class="divider">/</span></li>
|
||||
<li><span>Library</span><span class="divider">/</span></li>
|
||||
<li class="text-blue"><%= t('announcement.editing_announcement') %></li>
|
||||
</ul> -->
|
||||
<div id="poststuff">
|
||||
<%= form_for @bulletin, :url => panel_announcement_back_end_bulletin_path(@bulletin), :html => {:class => 'clear nccu_ajax_form'} do |f| %>
|
||||
<%= render :partial => 'form', :locals => {:f => f} %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% content_for :page_specific_javascript do %>
|
||||
<%= javascript_include_tag "bulletin_form" %>
|
||||
<% end %>
|
||||
|
||||
<%= form_for @bulletin, url: panel_announcement_back_end_bulletin_path(@bulletin), html: {class: "form-horizontal main-forms previewable"} do |f| %>
|
||||
<fieldset>
|
||||
<%= render partial: 'form', locals: {f: f} %>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
-1
@@ -1 +0,0 @@
|
||||
$("#modal-file").html("<%= j render "bulletin_file_qe" %>");
|
||||
-1
@@ -1 +0,0 @@
|
||||
$("#modal-file").html("<%= j render "bulletin_file_qe" %>");
|
||||
Vendored
+67
-23
@@ -1,24 +1,68 @@
|
||||
<%= render 'filter' %>
|
||||
<table id="bulettin_sort_list" class="table main-list">
|
||||
<%= render 'bulletins' %>
|
||||
</table>
|
||||
|
||||
<div class="form-actions form-fixed pagination-right">
|
||||
<%= link_to(content_tag(:i, nil, :class => 'icon-plus icon-white') + t(:add), new_panel_announcement_back_end_bulletin_path, :class => 'btn btn-primary pull-right' )if (is_manager? rescue nil)%>
|
||||
<div id="bulletin_pagination" class="paginationFixed">
|
||||
<%= paginate @bulletins, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil, :sort_options => params[:sort_options]} %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="bulletin_link_qe">
|
||||
<div id="modal-link" class="modal fade">
|
||||
<%#= render :partial => "bulletin_link_qe" %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% content_for :page_specific_javascript do %>
|
||||
<%= javascript_include_tag "bulletin_form" %>
|
||||
<%= javascript_include_tag "/static/jquery.cycle.all.latest.js" %>
|
||||
<%= javascript_include_tag "inc/modal-preview" %>
|
||||
<% end %>
|
||||
<% set_default_index do
|
||||
objects @bulletins
|
||||
approvable
|
||||
authorization
|
||||
filterable
|
||||
sortable
|
||||
quick_edit_link type: 'edit',
|
||||
link: 'edit_panel_announcement_back_end_bulletin_path'
|
||||
quick_edit_link type: 'detail'
|
||||
quick_edit_link type: 'delete',
|
||||
link: 'panel_announcement_back_end_bulletin_path'
|
||||
quick_edit_link type: 'approval',
|
||||
link: 'panel_announcement_back_end_bulletin_approval_preview_path'
|
||||
quick_edit_link type: 'reject_reason'
|
||||
field type: 'status',
|
||||
db_field: @statuses,
|
||||
translation: 'status',
|
||||
hide: 'phone',
|
||||
sort: 'status'
|
||||
field type: 'associated',
|
||||
associated_value: 'title',
|
||||
db_field: 'category',
|
||||
translation: 'category',
|
||||
hide: 'phone',
|
||||
sort: 'category'
|
||||
field type: 'field',
|
||||
db_field: 'title',
|
||||
translation: 'title',
|
||||
sort: 'title',
|
||||
link: 'panel_announcement_front_end_bulletin_path',
|
||||
quick_edit: true,
|
||||
header_class: 'span5'
|
||||
field type: 'date',
|
||||
db_field: 'postdate',
|
||||
translation: 'start_date',
|
||||
hide: 'phone',
|
||||
sort: 'start_date'
|
||||
field type: 'date',
|
||||
db_field: 'deadline',
|
||||
translation: 'end_date',
|
||||
hide: 'phone',
|
||||
sort: 'end_date'
|
||||
field type: 'tags',
|
||||
db_field: 'tags',
|
||||
translation: 'tags',
|
||||
hide: 'all',
|
||||
sort: 'tags'
|
||||
field type: 'id',
|
||||
id_model: 'User',
|
||||
db_field: 'update_user_id',
|
||||
translation: 'last_modified',
|
||||
hide: 'phone',
|
||||
sort: 'last_modified'
|
||||
filter_field type: 'array',
|
||||
values: @statuses,
|
||||
translation: 'status'
|
||||
filter_field type: 'objects',
|
||||
values: @categories,
|
||||
translation: 'category',
|
||||
object_field: 'title'
|
||||
filter_field type: 'objects',
|
||||
values: @tags,
|
||||
translation: 'tags',
|
||||
object_field: 'name'
|
||||
footer link: 'new_panel_announcement_back_end_bulletin_path'
|
||||
end %>
|
||||
|
||||
<%= render 'admin/default_index/index' %>
|
||||
Vendored
-7
@@ -1,7 +0,0 @@
|
||||
$("#collapse-status").html("<%= j render 'filter_status' %>");
|
||||
$("#collapse-category").html("<%= j render 'filter_categories' %>");
|
||||
$("#collapse-tags").html("<%= j render 'filter_tags' %>");
|
||||
$("#delete_all").attr("action", "<%= delete_panel_announcement_back_end_bulletins_path(:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil, :sort_options => params[:sort_options]) %>");
|
||||
$("#sort_headers").html("<%= j render 'sort_headers' %>");
|
||||
$("#tbody_bulletins").html("<%= j render :partial => 'bulletin', :collection => @bulletins %>");
|
||||
$("#bulletin_pagination").html("<%= j paginate @bulletins, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %>");
|
||||
-1
@@ -1 +0,0 @@
|
||||
$("#modal-link").html("<%= j render "bulletin_link_qe" %>");
|
||||
-1
@@ -1 +0,0 @@
|
||||
$("#modal-link").html("<%= j render "bulletin_link_qe" %>");
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
$("#<%= dom_id @bulletin, :edit %>").show()
|
||||
$("#<%= dom_id @bulletin, :edit %>").html("<%= j render :partial => 'quick_edit', :locals => {:type => @type} %>")
|
||||
Vendored
+5
-5
@@ -1,5 +1,5 @@
|
||||
<div id="poststuff">
|
||||
<%= form_for @bulletin, :url => panel_announcement_back_end_bulletins_path,:html=>{ :class=>"nccu_ajax_form"} do |f| %>
|
||||
<%= render :partial => 'form', :locals => {:f => f} %>
|
||||
<% end %>
|
||||
</div>
|
||||
<%= form_for @bulletin, url: panel_announcement_back_end_bulletins_path, html: {class: "form-horizontal main-forms previewable"} do |f| %>
|
||||
<fieldset>
|
||||
<%= render partial: 'form', locals: {f: f} %>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
Vendored
+1
-1
@@ -1,7 +1,7 @@
|
||||
<ul>
|
||||
<li>
|
||||
<b><%= t(:category) %></b>
|
||||
<%= @bulletin.bulletin_category.title rescue nil %>
|
||||
<%= @bulletin.category.title rescue nil %>
|
||||
</li>
|
||||
<li>
|
||||
<b><%= t(:postdate) %></b>
|
||||
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
$("#modal-file").modal('hide');
|
||||
$("#<%= dom_id @bulletin_file %>").replaceWith("<%= j render :partial => 'list_bulletin_file', :collection => [@bulletin_file] %>");
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
$("#modal-link").modal('hide');
|
||||
$("#<%= dom_id @bulletin_link %>").replaceWith("<%= j render :partial => 'list_bulletin_link', :collection => [@bulletin_link] %>");
|
||||
vendor/built_in_modules/announcement/app/views/panel/announcement/front_end/bulletins/index.html.erb
Vendored
+2
-2
@@ -21,8 +21,8 @@
|
||||
|
||||
<% @bulletins.each do |post| %>
|
||||
<tr>
|
||||
<td><%= post.bulletin_category.title rescue nil %></td>
|
||||
<td><%= link_to post.title, panel_announcement_front_end_bulletin_path(post, :category_id => post.bulletin_category_id) %>
|
||||
<td><%= post.category.title rescue nil %></td>
|
||||
<td><%= link_to post.title, panel_announcement_front_end_bulletin_path(post, :category_id => post.category_id) %>
|
||||
<%#= link_to post.title, panel_announcement_back_end_bulletin_path(post) %>
|
||||
</td>
|
||||
<td><%= display_date_time(post.postdate) %></td>
|
||||
|
||||
+2
-2
@@ -23,10 +23,10 @@
|
||||
<tbody id="tbody_bulletin" class="sort-holder">
|
||||
<% @bulletins.each do |bulletin| %>
|
||||
<tr id="<%= dom_id bulletin%>" class="with_action">
|
||||
<td><%= bulletin.bulletin_category.title%></td>
|
||||
<td><%= bulletin.category.title%></td>
|
||||
<td>
|
||||
<% if bulletin.is_checked? %>
|
||||
<%= link_to bulletin.title, panel_announcement_front_end_bulletin_path(bulletin, :category_id => bulletin.bulletin_category.id) rescue ''%>
|
||||
<%= link_to bulletin.title, panel_announcement_front_end_bulletin_path(bulletin, :category_id => bulletin.category.id) rescue ''%>
|
||||
<% else %>
|
||||
<%= bulletin.title%>
|
||||
<% end %>
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
<% @bulletins.each do |bulletin| %>
|
||||
<li>
|
||||
<%= link_to bulletin.title, panel_announcement_front_end_bulletin_path(bulletin, :category_id => bulletin.bulletin_category_id , :tag_id => @selected_tag.id ) %>
|
||||
<%= link_to bulletin.title, panel_announcement_front_end_bulletin_path(bulletin, :category_id => bulletin.category_id , :tag_id => @selected_tag.id ) %>
|
||||
</li>
|
||||
<% end %>
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
<div class="category_list">
|
||||
<h3 class="h3"><%= t(:categories) %></h3>
|
||||
<ul class="list">
|
||||
<% @bulletin_categorys.each do |category| %>
|
||||
<% @categories.each do |category| %>
|
||||
<li class="<%= category.id.to_s.eql?(params[:category_id]) ? 'active' : nil %>">
|
||||
<%= link_to category.title, panel_announcement_front_end_bulletins_path(:category_id => category.id) %>
|
||||
</li>
|
||||
|
||||
@@ -18,8 +18,6 @@ en:
|
||||
title: Title
|
||||
editing_announcement: Edit Announcement
|
||||
editing_announcement_category: Edit Category
|
||||
error:
|
||||
no_avilb_cate_for_posting: No Available Category for Posting
|
||||
file: Attachment
|
||||
file_description: File Description
|
||||
file_name: File Name
|
||||
@@ -36,4 +34,4 @@ en:
|
||||
widget:
|
||||
bulletins_and_web_links: Bulletins and Web Resources
|
||||
index: Index
|
||||
search: Search
|
||||
search: Search
|
||||
+2
-21
@@ -10,8 +10,6 @@ Rails.application.routes.draw do
|
||||
resources :bulletins do
|
||||
match "approve/:bulletin_id" => "approvals#preview_and_approve",:as => :approval_preview,:via => :put
|
||||
match "approve/:bulletin_id" => "approvals#approve",:as => :approve,:via => :post
|
||||
match "link_quick_add/:bulletin_id" => "bulletins#link_quick_add" ,:as => :link_quick_add
|
||||
match "link_quick_edit/:bulletin_id" => "bulletins#link_quick_edit" ,:as => :link_quick_edit
|
||||
|
||||
member do
|
||||
get 'load_quick_edit'
|
||||
@@ -21,28 +19,11 @@ Rails.application.routes.draw do
|
||||
put "preview"
|
||||
get 'delete'
|
||||
end
|
||||
match "file_quick_add/:bulletin_id" => "bulletins#file_quick_add" ,:as => :file_quick_add
|
||||
match "file_quick_edit/:bulletin_id" => "bulletins#file_quick_edit" ,:as => :file_quick_edit
|
||||
end
|
||||
|
||||
resources :bulletin_categorys do
|
||||
collection do
|
||||
get 'get_categorys_json'
|
||||
end
|
||||
# if want to use json
|
||||
# please uncommand below line
|
||||
# match "get_bulletins_json/" => "bulletin_categorys#get_bulletins_json", :as => :get_bulletins_json
|
||||
end
|
||||
resources :bulletin_links
|
||||
|
||||
resources :bulletin_links, :controller => 'bulletin_links' do
|
||||
match "link_quick_edit/:bulletin_link_id" => "bulletin_links#link_quick_edit" ,:as => :link_quick_edit
|
||||
end
|
||||
|
||||
resources :bulletin_files, :controller => 'bulletin_files' do
|
||||
match "file_quick_edit/:bulletin_file_id" => "bulletin_files#file_quick_edit" ,:as => :file_quick_edit
|
||||
end
|
||||
|
||||
resources :tags
|
||||
resources :bulletin_files
|
||||
end
|
||||
namespace :front_end do
|
||||
match "index_by_unit" => "bulletins#index_bulletins_by_unit",:as => :index_bulletins_by_unit
|
||||
|
||||
+15
-66
@@ -22,9 +22,11 @@ module Announcement
|
||||
end
|
||||
end
|
||||
|
||||
category ["BulletinCategory"]
|
||||
# category ["BulletinCategory"]
|
||||
data_count 3..10
|
||||
|
||||
authorizable
|
||||
categorizable
|
||||
taggable
|
||||
|
||||
widgets do
|
||||
@@ -38,7 +40,7 @@ module Announcement
|
||||
link_to_more 'panel_announcement_front_end_bulletins_path',:title_i18n=> 'more_plus'
|
||||
end
|
||||
|
||||
categories_query 'BulletinCategory.all'
|
||||
categories_query 'Category.all'
|
||||
tags_query 'AnnouncementTag.all'
|
||||
|
||||
customize_widget "index" do
|
||||
@@ -57,94 +59,41 @@ module Announcement
|
||||
side_bar do
|
||||
head_label_i18n 'announcement.announcement',:icon_class=>"icons-megaphone"
|
||||
available_for [:admin,:guest,:manager,:sub_manager]
|
||||
active_for_controllers ({:private=>['bulletins', 'bulletin_categorys', 'approvals','tags']})
|
||||
active_for_controllers ({:private=>['bulletins', 'bulletin_categorys', 'approvals','module_tags', 'categories']})
|
||||
active_for_object_auth ['BulletinCategory']
|
||||
|
||||
head_link_path "panel_announcement_back_end_bulletins_path"
|
||||
|
||||
context_link 'announcement.all_articles',
|
||||
:link_path=>"panel_announcement_back_end_bulletins_path" ,
|
||||
:priority=>2,
|
||||
:priority=>1,
|
||||
:active_for_action=>{:bulletins=>:index},
|
||||
:available_for => [:all]
|
||||
context_link 'announcement.add_new',
|
||||
:link_path=>"new_panel_announcement_back_end_bulletin_path" ,
|
||||
:priority=>1,
|
||||
:priority=>2,
|
||||
:active_for_action=>{:bulletins=>:new},
|
||||
:available_for => [:sub_manager]
|
||||
|
||||
context_link 'announcement.categories',
|
||||
:link_path=>"panel_announcement_back_end_bulletin_categorys_path" ,
|
||||
:link_path=>"admin_module_app_categories_path(get_module_app)" ,
|
||||
:priority=>3,
|
||||
:active_for_action=>{:bulletin_categorys=>:index},
|
||||
:active_for_category => 'Announcement',
|
||||
:available_for => [:manager]
|
||||
|
||||
|
||||
context_link 'tags',
|
||||
:link_path=>"admin_tags_path(:module_app_id => ModuleApp.first(conditions: {title: 'Announcement'}))" ,
|
||||
:link_path=>"admin_module_tags_path(module_app_id: get_module_app)" ,
|
||||
:priority=>4,
|
||||
# :active_for_action=>{:bulletin_categorys=>:index},
|
||||
:active_for_tag => 'Announcement',
|
||||
:available_for => [:manager]
|
||||
|
||||
|
||||
# widgets do
|
||||
# default_widget do
|
||||
# query 'Bulletin.all'
|
||||
# image :image
|
||||
# end
|
||||
|
||||
# categories_query 'BulletinCategory.all'
|
||||
# tags_query 'AnnouncementTag.all'
|
||||
|
||||
# customize_widget "index","announcement.widget.index",:fields=>["title","category","postdate"],:style=>["cu_style_1","cu_style_2","cu_style_3","cu_style_4","cu_style_5"]
|
||||
# customize_widget "bulletins_and_web_links","announcement.widget.bulletins_and_web_links"
|
||||
# # item "index","announcement.widget.index",:default_template=>true,:fields=>["title","category","postdate"]
|
||||
# # item "bulletins_and_web_links","announcement.widget.bulletins_and_web_links"
|
||||
# end
|
||||
|
||||
# side_bar do
|
||||
# head_label_i18n 'admin.announcement',:icon_class=>"icons-megaphone"
|
||||
# available_for [:admin,:guest,:manager,:sub_manager]
|
||||
# active_for_controllers ({:private=>['bulletins', 'bulletin_categorys', 'approvals','tags']})
|
||||
# active_for_object_auth ['BulletinCategory']
|
||||
|
||||
# head_link_path "panel_announcement_back_end_bulletins_path"
|
||||
|
||||
# context_link 'announcement.all_articles',
|
||||
# :link_path=>"panel_announcement_back_end_bulletins_path" ,
|
||||
# :priority=>1,
|
||||
# :active_for_action=>{:bulletins=>:index},
|
||||
# :available_for => [:all]
|
||||
|
||||
# context_link 'announcement.add_new',
|
||||
# :link_path=>"new_panel_announcement_back_end_bulletin_path" ,
|
||||
# :priority=>2,
|
||||
# :active_for_action=>{:bulletins=>:new},
|
||||
# :available_for => [:sub_manager]
|
||||
|
||||
# context_link 'announcement.categories',
|
||||
# :link_path=>"panel_announcement_back_end_bulletin_categorys_path" ,
|
||||
# :priority=>3,
|
||||
# :active_for_action=>{:bulletin_categorys=>:index},
|
||||
# :available_for => [:manager]
|
||||
|
||||
# context_link 'tags',
|
||||
# :link_path=>"panel_announcement_back_end_tags_path" ,
|
||||
# :priority=>4,
|
||||
# # :active_for_action=>{:bulletin_categorys=>:index},
|
||||
# :available_for => [:manager]
|
||||
|
||||
context_link 'announcement.approval_setting',
|
||||
:link_path=>"panel_announcement_back_end_approval_setting_path" ,
|
||||
context_link 'approval_setting',
|
||||
:link_path=>"admin_authorizations_path(get_module_app.key, 'approval')" ,
|
||||
:priority=>5,
|
||||
:active_for_action=>{:approvals=>:setting},
|
||||
:active_for_object_auth => 'BulletinCategory',
|
||||
:available_for => [:manager]
|
||||
|
||||
context_link 'module_authorization',
|
||||
:link_path=>"admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {title: 'Announcement'}))",
|
||||
:link_path=>"admin_authorizations_path(get_module_app.key)",
|
||||
:priority=>6,
|
||||
:active_for_app_auth => 'Announcement'
|
||||
:available_for => [:manager]
|
||||
end
|
||||
end
|
||||
end
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
class Panel::Archive::BackEnd::TagsController < Admin::TagsController
|
||||
|
||||
def initialize
|
||||
super
|
||||
@app_title = 'archive'
|
||||
end
|
||||
|
||||
end
|
||||
Vendored
+1
-3
@@ -33,9 +33,7 @@ class Panel::Archive::FrontEnd::ArchiveFilesController < OrbitWidgetController
|
||||
|
||||
if !params[:category_id].blank? && !params[:tag_id].blank?
|
||||
@archive_files = @archive_files.default_sort(params[:sort]).can_display.where(:archive_file_category_id.in => params[:category_id], :tagged_ids.in => params[:tag_id]).desc( :is_top ).page( params[:page_main] ).per(@page_num)
|
||||
|
||||
@current_category = ArchiveFileCategory.from_id(params[:category_id]) rescue nil
|
||||
|
||||
@current_category = ArchiveFileCategory.from_id(params[:category_id]) rescue nil
|
||||
elsif !params[:category_id].blank?
|
||||
@archive_files = ArchiveFile.default_sort(params[:sort]).can_display.where(:archive_file_category_id.in => params[:category_id]).desc( :is_top ).page( params[:page_main] ).per(@page_num)
|
||||
@current_category = ArchiveFileCategory.from_id(params[:category_id]) rescue nil
|
||||
|
||||
+3
-16
@@ -6,27 +6,18 @@ class ArchiveFile
|
||||
include Mongoid::MultiParameterAttributes
|
||||
include Mongoid::Sortable
|
||||
|
||||
include OrbitModel::Status
|
||||
include OrbitTag::Taggable
|
||||
|
||||
BelongsToCategory = :archive_file_category
|
||||
include OrbitCoreLib::BelongsToCategoryMayDisable
|
||||
|
||||
PAYMENT_TYPES = @site_valid_locales
|
||||
|
||||
include OrbitTag::Taggable
|
||||
taggable
|
||||
|
||||
field :title, localize: true
|
||||
|
||||
# has_and_belongs_to_many :tags, :class_name => "ArchiveTag"
|
||||
|
||||
field :create_user_id
|
||||
field :update_user_id
|
||||
|
||||
field :is_top, :type => Boolean, :default => false
|
||||
field :is_hot, :type => Boolean, :default => false
|
||||
field :is_hidden, :type => Boolean, :default => false
|
||||
|
||||
scope :can_display,where(is_hidden: false)
|
||||
|
||||
# belongs_to :archive_file_category
|
||||
|
||||
has_many :archive_file_multiples, :autosave => true, :dependent => :destroy
|
||||
@@ -68,10 +59,6 @@ class ArchiveFile
|
||||
|
||||
end
|
||||
|
||||
def is_top?
|
||||
self.is_top
|
||||
end
|
||||
|
||||
|
||||
def get_file_icon( file_data )
|
||||
file_icon = "<span class=\"o-archives-file-type\">#{file_data.split('.')[-1]}</span>".html_safe
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
class ArchiveTag < Tag
|
||||
|
||||
has_and_belongs_to_many :archive_files
|
||||
|
||||
|
||||
def get_visible_links(sort = :name)
|
||||
self.archive_files.where(:is_hidden => false).desc(:is_top, sort)
|
||||
end
|
||||
|
||||
end
|
||||
+6
-9
@@ -19,6 +19,7 @@ module Archive
|
||||
|
||||
category ["ArchiveFileCategory"]
|
||||
|
||||
authorizable
|
||||
taggable
|
||||
|
||||
widgets do
|
||||
@@ -59,29 +60,25 @@ module Archive
|
||||
:priority=>1,
|
||||
:active_for_action=>{:archive_files=>:index},
|
||||
:available_for => [:all]
|
||||
|
||||
context_link 'add',
|
||||
:link_path=>"new_panel_archive_back_end_archive_file_path" ,
|
||||
:priority=>2,
|
||||
:active_for_action=>{:archive_files=>:new},
|
||||
:available_for => [:sub_manager]
|
||||
|
||||
context_link 'categories',
|
||||
:link_path=>"panel_archive_back_end_archive_file_categorys_path" ,
|
||||
:priority=>3,
|
||||
:active_for_action=>{:archive_file_categorys=>:index},
|
||||
:available_for => [:manager]
|
||||
|
||||
context_link 'tags',
|
||||
:link_path=>"admin_tags_path(:module_app_id => ModuleApp.first(conditions: {title: 'Archive'}))" ,
|
||||
:link_path=>"admin_module_tags_path(module_app_id: get_module_app)" ,
|
||||
:priority=>4,
|
||||
# :active_for_action=>{:bulletin_categorys=>:index},
|
||||
:active_for_tag => 'Archive',
|
||||
:available_for => [:manager]
|
||||
|
||||
context_link 'module_authorization',
|
||||
:link_path=>"admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {title: 'Archive'}))",
|
||||
:priority=>6,
|
||||
:active_for_app_auth => 'Archive'
|
||||
:link_path=>"admin_authorizations_path(get_module_app.key)",
|
||||
:priority=>5,
|
||||
:available_for => [:manager]
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
en:
|
||||
|
||||
module_name:
|
||||
ad_banner: Asset
|
||||
@@ -0,0 +1,4 @@
|
||||
zh_tw:
|
||||
|
||||
module_name:
|
||||
ad_banner: 資產
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
module Asset
|
||||
OrbitApp.registration "Asset",:type=> 'ModuleApp' do
|
||||
module_label 'module_name.asset'
|
||||
base_url File.expand_path File.dirname(__FILE__)
|
||||
|
||||
# side_bar do
|
||||
# head_label_i18n 'module_name.asset',:icon_class=>"icons-landscape"
|
||||
# available_for [:admin,:guest,:manager,:sub_manager]
|
||||
# active_for_controllers ({:public=>['admin/ad_banners', 'admin/ad_images']})
|
||||
|
||||
# head_link_path "admin_ad_banners_path"
|
||||
|
||||
# context_link 'module_authorization',
|
||||
# :link_path=>"admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {title: 'AdBanner'}))",
|
||||
# :priority=>6,
|
||||
# :active_for_app_auth => 'ad_banners',
|
||||
# :available_for => [:admin]
|
||||
# end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,4 @@
|
||||
en:
|
||||
|
||||
module_name:
|
||||
authorization: Authorization
|
||||
@@ -0,0 +1,4 @@
|
||||
zh_tw:
|
||||
|
||||
module_name:
|
||||
authorization: 授權
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
module Authorization
|
||||
OrbitApp.registration "Authorization", type: 'ModuleApp' do
|
||||
module_label 'module_name.authorization'
|
||||
base_url File.expand_path File.dirname(__FILE__)
|
||||
|
||||
# version "0.1"
|
||||
# organization "Rulingcom"
|
||||
# author "RD dep"
|
||||
# intro "I am intro"
|
||||
# update_info 'some update_info'
|
||||
|
||||
|
||||
side_bar do
|
||||
head_label_i18n 'module_name.authorization', icon_class: "icons-lock-open"
|
||||
available_for [:admin, :manager]
|
||||
active_for_controllers ({public: ['admin/authorizations']})
|
||||
|
||||
head_link_path "admin_authorizations_path"
|
||||
|
||||
context_link 'all',
|
||||
link_path: "admin_authorizations_path",
|
||||
priority: 1,
|
||||
active_for_action: {authorizations: :index},
|
||||
available_for: [:admin, :manager]
|
||||
|
||||
# context_link 'module_authorization',
|
||||
# link_path: "admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {title: 'Authorization'}))",
|
||||
# priority: 2,
|
||||
# active_for_app_auth: 'tags',
|
||||
# available_for: [:admin]
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -5,5 +5,5 @@
|
||||
// the compiled file.
|
||||
//
|
||||
//= require jquery-ui
|
||||
//= require bootstrap
|
||||
//= require basic/bootstrap
|
||||
//= require calendarAPI
|
||||
Vendored
-6
@@ -1,6 +0,0 @@
|
||||
class Panel::Calendar::BackEnd::TagsController < Admin::TagsController
|
||||
def initialize
|
||||
super
|
||||
@app_title = 'calendar'
|
||||
end
|
||||
end
|
||||
@@ -3,7 +3,6 @@ class Cal
|
||||
include Mongoid::Timestamps
|
||||
|
||||
include OrbitTag::Taggable
|
||||
taggable
|
||||
|
||||
field :name, localize: true
|
||||
field :color
|
||||
|
||||
+4
-2
@@ -9,6 +9,8 @@ module Calendar
|
||||
author "RD dep"
|
||||
intro "I am intro"
|
||||
update_info 'some update_info'
|
||||
|
||||
taggable
|
||||
|
||||
side_bar do
|
||||
head_label_i18n 'calendar.calendar',:icon_class=>"icons-calendar"
|
||||
@@ -25,9 +27,9 @@ module Calendar
|
||||
:available_for => [:manager]
|
||||
|
||||
context_link 'tags',
|
||||
:link_path=>"admin_tags_path(:module_app_id => ModuleApp.first(conditions: {title: 'Calendar'}))" ,
|
||||
:link_path=>"admin_module_tags_path(:module_app_id => ModuleApp.first(conditions: {title: 'Calendar'}))" ,
|
||||
:priority=>4,
|
||||
# :active_for_action=>{:bulletin_categorys=>:index},
|
||||
:active_for_tag => 'Calendar',
|
||||
:available_for => [:manager]
|
||||
end
|
||||
end
|
||||
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
class Panel::Faq::BackEnd::TagsController < Admin::TagsController
|
||||
|
||||
def initialize
|
||||
super
|
||||
@app_title = 'faq'
|
||||
end
|
||||
|
||||
end
|
||||
@@ -1,10 +0,0 @@
|
||||
class FaqTag < Tag
|
||||
|
||||
has_and_belongs_to_many :qas
|
||||
|
||||
|
||||
def get_visible_links(sort = :title)
|
||||
self.qas.where(:is_hidden => false).desc(:is_top, sort)
|
||||
end
|
||||
|
||||
end
|
||||
+4
-27
@@ -4,25 +4,16 @@ class Qa
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
include Mongoid::MultiParameterAttributes
|
||||
include OrbitTag::Taggable
|
||||
taggable
|
||||
|
||||
scope :available_for_lang, ->(locale){ where("available_for_#{locale}".to_sym => true) }
|
||||
include OrbitModel::LanguageRestrict
|
||||
include OrbitModel::Status
|
||||
include OrbitTag::Taggable
|
||||
|
||||
field :title, localize: true
|
||||
field :answer, localize: true
|
||||
|
||||
#has_and_belongs_to_many :tags, :class_name => "FaqTag"
|
||||
|
||||
|
||||
field :create_user_id
|
||||
field :update_user_id
|
||||
|
||||
field :is_top, :type => Boolean, :default => false
|
||||
field :is_hot, :type => Boolean, :default => false
|
||||
field :is_hidden, :type => Boolean, :default => false
|
||||
|
||||
scope :can_display,where(is_hidden: false)
|
||||
|
||||
has_many :qa_links, :autosave => true, :dependent => :destroy
|
||||
has_many :qa_files, :autosave => true, :dependent => :destroy
|
||||
@@ -32,7 +23,7 @@ class Qa
|
||||
|
||||
belongs_to :qa_category
|
||||
|
||||
before_save :update_avliable_language, :clean_values
|
||||
before_save :clean_values
|
||||
|
||||
validates :title, :at_least_one => true
|
||||
|
||||
@@ -58,20 +49,6 @@ class Qa
|
||||
|
||||
end
|
||||
|
||||
def is_top?
|
||||
self.is_top
|
||||
end
|
||||
|
||||
def update_avliable_language
|
||||
VALID_LOCALES.each do |locale|
|
||||
if (title_translations[locale].blank? rescue true)
|
||||
self["available_for_#{locale}".to_sym] = false
|
||||
else
|
||||
self["available_for_#{locale}".to_sym] = true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def qa_category_with_title
|
||||
|
||||
Vendored
+4
-2
@@ -39,6 +39,8 @@ module Faq
|
||||
# end
|
||||
end
|
||||
|
||||
taggable
|
||||
|
||||
side_bar do
|
||||
head_label_i18n 'faq.faq',:icon_class=>"icons-help"
|
||||
available_for [:admin,:guest,:manager,:sub_manager]
|
||||
@@ -66,9 +68,9 @@ module Faq
|
||||
:available_for => [:manager]
|
||||
|
||||
context_link 'tags',
|
||||
:link_path=>"admin_tags_path(:module_app_id => ModuleApp.first(conditions: {title: 'Faq'}))" ,
|
||||
:link_path=>"admin_module_tags_path(:module_app_id => ModuleApp.first(conditions: {title: 'Faq'}))" ,
|
||||
:priority=>4,
|
||||
# :active_for_action=>{:bulletin_categorys=>:index},
|
||||
:active_for_tag => 'Faq',
|
||||
:available_for => [:manager]
|
||||
end
|
||||
end
|
||||
|
||||
+10
-11
@@ -1,19 +1,18 @@
|
||||
class GalleryAlbum
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
include Mongoid::Timestamps
|
||||
|
||||
include OrbitTag::Taggable
|
||||
taggable
|
||||
|
||||
field :name, localize: true
|
||||
field :description, localize: true
|
||||
field :cover, default: "default"
|
||||
field :cover_path #can refact
|
||||
field :tag_names
|
||||
field :name, localize: true
|
||||
field :description, localize: true
|
||||
field :cover, default: "default"
|
||||
field :cover_path #can refact
|
||||
field :tag_names
|
||||
|
||||
belongs_to :gallery_category
|
||||
# has_and_belongs_to_many :tags, :class_name => "GalleryTag"
|
||||
has_many :gallery_images, :autosave => true, :dependent => :destroy
|
||||
accepts_nested_attributes_for :gallery_images, :allow_destroy => true
|
||||
belongs_to :gallery_category
|
||||
# has_and_belongs_to_many :tags, :class_name => "GalleryTag"
|
||||
has_many :gallery_images, :autosave => true, :dependent => :destroy
|
||||
accepts_nested_attributes_for :gallery_images, :allow_destroy => true
|
||||
|
||||
end
|
||||
@@ -2,7 +2,6 @@ class GalleryImage
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
include OrbitTag::Taggable
|
||||
taggable
|
||||
|
||||
mount_uploader :file, GalleryUploader
|
||||
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
class GalleryTag < Tag
|
||||
|
||||
has_and_belongs_to_many :gallery_albums
|
||||
has_and_belongs_to_many :gallery_images
|
||||
|
||||
end
|
||||
+4
-2
@@ -18,6 +18,8 @@ module Gallery
|
||||
|
||||
category ["gallery_categories"]
|
||||
|
||||
taggable
|
||||
|
||||
widgets do
|
||||
# default_widget do
|
||||
# query 'Bulletin.all'
|
||||
@@ -55,9 +57,9 @@ module Gallery
|
||||
:available_for => [:manager]
|
||||
|
||||
context_link 'tags',
|
||||
:link_path=>"admin_tags_path(:module_app_id => ModuleApp.first(conditions: {title: 'Gallery'}))" ,
|
||||
:link_path=>"admin_module_tags_path(:module_app_id => ModuleApp.first(conditions: {title: 'Gallery'}))" ,
|
||||
:priority=>4,
|
||||
# :active_for_action=>{:bulletin_categorys=>:index},
|
||||
:active_for_tag => 'Gallery',
|
||||
:available_for => [:manager]
|
||||
|
||||
context_link 'module_authorization',
|
||||
|
||||
@@ -11,6 +11,8 @@ module PageContent
|
||||
intro "I am intro"
|
||||
update_info 'some update_info'
|
||||
|
||||
authorizable
|
||||
|
||||
front_end do
|
||||
app_page 'page_contexts' do
|
||||
frontend_i18n "page_content.frontend.page"
|
||||
|
||||
Loaded 100 of 1495 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user