archive and web_resouce for new ui
Conflicts: app/assets/stylesheets/lib/main-forms.css
This commit is contained in:
1 parent
1ba1703e90
commit
5d3bc07488
30 files changed
+1531
-620
No files matched your search
+64
-43
@@ -1,100 +1,117 @@
|
||||
/* General style with default layout */
|
||||
.o-archives {}
|
||||
.o-archives-content {}
|
||||
.o-archives-group {
|
||||
.o-archives .o-archives-content {}
|
||||
.o-archives .o-archives-group {
|
||||
margin: 20px 0 0 0;
|
||||
padding: 20px 0 0 0;
|
||||
border-top: dashed 1px #eee;
|
||||
}
|
||||
.o-archives-group:first-child {
|
||||
.o-archives .o-archives-group:first-child {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
}
|
||||
.o-archives-category {
|
||||
.o-archives .o-archives-category {
|
||||
padding-bottom: 16px;
|
||||
margin-bottom: 16px;
|
||||
border-bottom: solid 2px #ccc;
|
||||
font-weight: bold;
|
||||
}
|
||||
.o-archives-list {}
|
||||
.o-archives-list ul {
|
||||
.o-archives .o-archives-list {}
|
||||
.o-archives .o-archives-list ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.o-archives-list li {}
|
||||
.o-archives-title {
|
||||
.o-archives .o-archives-list li {}
|
||||
.o-archives .o-archives-title {
|
||||
border-left: solid 8px #eee;
|
||||
border-bottom: solid 1px #eee;
|
||||
padding: 0 0 0 16px;
|
||||
line-height: 2em;
|
||||
}
|
||||
.o-archives-list-item {}
|
||||
.o-archives-list-item ol {
|
||||
list-style-type: decimal;
|
||||
.o-archives .o-archives-list-item {
|
||||
padding: 12px 0;
|
||||
}
|
||||
.o-archives-list-item li {
|
||||
margin: 0 0 10px 0;
|
||||
.o-archives .o-archives-list-item ol {
|
||||
list-style-type: disc;
|
||||
margin: 0;
|
||||
}
|
||||
.o-archives-file {}
|
||||
.o-archives-file:hover {}
|
||||
.o-archives-file-type {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin-left: 8px;
|
||||
padding: 0 4px;
|
||||
height: 15px;
|
||||
font-size: 9px;
|
||||
text-transform: uppercase;
|
||||
line-height: 15px;
|
||||
background-color: #999;
|
||||
color: #FFF;
|
||||
border-radius: 3px;
|
||||
-webkit-text-size-adjust: none;
|
||||
.o-archives .o-archives-list-item li {
|
||||
margin: 0 0 8px 0;
|
||||
}
|
||||
.o-archives .o-archives-file {
|
||||
font-size: 0.85em;
|
||||
}
|
||||
.o-archives .o-archives-file:hover {}
|
||||
.o-archives .o-archives-file-type {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
margin-left: 8px;
|
||||
padding: 0 6px;
|
||||
height: 16px;
|
||||
font-size: 10px;
|
||||
text-transform: uppercase;
|
||||
line-height: 16px;
|
||||
background-color: #666;
|
||||
color: #fff;
|
||||
border-radius: 3px;
|
||||
}
|
||||
.o-archives .o-archives-hot {
|
||||
font-size: 11px;
|
||||
font-weight: normal;
|
||||
padding: 0 4px;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
margin: 0 0 0 8px;
|
||||
background-color: #D83131;
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
/* Tag list */
|
||||
.o-archives-tag-list {}
|
||||
.o-archives-tag-list ul {
|
||||
.o-archives .o-archives-tag-list {}
|
||||
.o-archives .o-archives-tag-list ul {
|
||||
margin: 0 -4px;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.o-archives-tag-list ul:after {
|
||||
.o-archives .o-archives-tag-list ul:after {
|
||||
content: ".";
|
||||
clear: both;
|
||||
display: block;
|
||||
height: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
.o-archives-tag-list li {
|
||||
.o-archives .o-archives-tag-list li {
|
||||
float: left;
|
||||
margin: 0 4px 8px 4px;
|
||||
}
|
||||
.o-archives-tag {
|
||||
.o-archives .o-archives-tag {
|
||||
display: block;
|
||||
border: solid 1px #ccc;
|
||||
padding: 2px 6px;
|
||||
padding: 4px;
|
||||
font-size: 0.85em;
|
||||
}
|
||||
.o-archives-tag:hover {}
|
||||
.o-archives .o-archives-tag:hover {}
|
||||
|
||||
/* Table layout */
|
||||
.o-archives.layout-table {}
|
||||
.o-archives-search {
|
||||
.o-archives .o-archives-search {
|
||||
overflow: hidden;
|
||||
margin: 0 0 10px 0;
|
||||
}
|
||||
.o-archives-search label {
|
||||
.o-archives .o-archives-search label {
|
||||
display: inline-block;
|
||||
margin: 0 8px 0 0;
|
||||
}
|
||||
.o-archives-search-option {
|
||||
.o-archives .o-archives-search-option {
|
||||
float: right;
|
||||
}
|
||||
.o-archives-search-option select {
|
||||
.o-archives .o-archives-search-option select {
|
||||
width: 80px;
|
||||
}
|
||||
.o-archives-search-keyword {}
|
||||
.o-archives-search-keyword input[type=submit] {
|
||||
.o-archives .o-archives-search-keyword {}
|
||||
.o-archives .o-archives-search-keyword input[type=submit] {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
margin: 0 0 0 8px;
|
||||
@@ -112,6 +129,8 @@ border-radius: 3px;
|
||||
.o-archives.layout-table .even td {}
|
||||
.o-archives.layout-table .column-ctrl {
|
||||
text-align: left;
|
||||
padding: 8px 4px;
|
||||
font-size: 0.85em;
|
||||
}
|
||||
.o-archives.layout-table .column-ctrl.col-title { width: 30% }
|
||||
.o-archives.layout-table .column-ctrl.col-file {}
|
||||
@@ -121,16 +140,18 @@ border-radius: 3px;
|
||||
font-weight: bold;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
line-height: 1.2em;
|
||||
}
|
||||
.o-archives.layout-table .o-archives-category {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
font-weight: normal;
|
||||
}
|
||||
.o-archives.layout-table .o-archives-tag {
|
||||
display: inline-block;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
.o-archives.layout-table .o-archives-category {
|
||||
font-weight: normal;
|
||||
.o-archives.layout-table .o-archives-list-item {
|
||||
padding: 0;
|
||||
}
|
||||
Vendored
+57
-31
@@ -1,48 +1,66 @@
|
||||
class Panel::Archive::BackEnd::ArchiveFilesController < OrbitBackendController
|
||||
# before_filter :for_app_manager,:except => [:index,:show]
|
||||
include OrbitControllerLib::DivisionForDisable
|
||||
# include OrbitControllerLib::DivisionForDisable
|
||||
|
||||
before_filter :force_order_for_visitor,:only=>[:index]
|
||||
before_filter :force_order_for_user,:except => [:index]
|
||||
|
||||
before_filter :for_app_sub_manager,:except => [:index]
|
||||
before_filter :only => [ :new,:edit,:update,:create] do |controller|
|
||||
controller.get_categorys('ArchiveFileCategory')
|
||||
# before_filter :only => [ :new,:edit,:update,:create] do |controller|
|
||||
# controller.get_categorys('ArchiveFileCategory')
|
||||
# end
|
||||
|
||||
before_filter :only => [ :new, :create, :edit, :update ] do |controller|
|
||||
@categories = get_categories_for_form
|
||||
end
|
||||
|
||||
def index
|
||||
@tags = get_tags
|
||||
@categories = get_categories_for_index
|
||||
@statuses = get_statuses
|
||||
category_ids = @categories.collect{|t| t.id}
|
||||
|
||||
get_categorys("ArchiveFileCategory",params[:archive_file_category_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
|
||||
@archive_filecategories = get_categories_for_index("ArchiveFileCategory")
|
||||
@archive_file_category_ids = @archive_file_categories.collect{|t| t.id.to_s} + [nil]
|
||||
|
||||
@archive_files = (params[:sort] || @filter) ? get_sorted_and_filtered("archive_file",:archive_file_category_id.in => @archive_file_category_ids) : get_viewable("archive_file",:archive_file_category_id.in => @archive_file_category_ids)
|
||||
|
||||
@tags = get_tags
|
||||
|
||||
@archive_files = get_sorted_and_filtered("archive_file", :category_id.in => category_ids)
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
format.js { }
|
||||
format.xml { render :xml => @archive_files }
|
||||
format.js
|
||||
end
|
||||
end
|
||||
|
||||
# def index
|
||||
|
||||
# get_categorys("ArchiveFileCategory",params[:archive_file_category_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
|
||||
# @archive_filecategories = get_categories_for_index("ArchiveFileCategory")
|
||||
# @archive_file_category_ids = @archive_file_categories.collect{|t| t.id.to_s} + [nil]
|
||||
|
||||
# @archive_files = (params[:sort] || @filter) ? get_sorted_and_filtered("archive_file",:archive_file_category_id.in => @archive_file_category_ids) : get_viewable("archive_file",:archive_file_category_id.in => @archive_file_category_ids)
|
||||
|
||||
# @tags = get_tags
|
||||
|
||||
# respond_to do |format|
|
||||
# format.html # index.html.erb
|
||||
# format.xml { render :xml => @archive_files }
|
||||
# format.js
|
||||
# end
|
||||
# end
|
||||
|
||||
# GET /archive_files/1
|
||||
# GET /archive_files/1.xml
|
||||
def show
|
||||
@@ -57,7 +75,12 @@ class Panel::Archive::BackEnd::ArchiveFilesController < OrbitBackendController
|
||||
# GET /archive_files/new
|
||||
# GET /archive_files/new.xml
|
||||
def new
|
||||
@archive_file = ArchiveFile.new
|
||||
if(session[:in_validate_object].blank?)
|
||||
@archive_file = ArchiveFile.new
|
||||
else
|
||||
@archive_file = session[:in_validate_object]
|
||||
session[:in_validate_object] = {}
|
||||
end
|
||||
|
||||
@tags = get_tags
|
||||
|
||||
@@ -70,8 +93,11 @@ class Panel::Archive::BackEnd::ArchiveFilesController < OrbitBackendController
|
||||
# GET /archive_files/1/edit
|
||||
def edit
|
||||
@archive_file = ArchiveFile.find(params[:id])
|
||||
|
||||
@tags = get_tags
|
||||
if !current_user.admin?
|
||||
redirect_to :action => :index
|
||||
else
|
||||
@tags = get_tags
|
||||
end
|
||||
end
|
||||
|
||||
# POST /archive_files
|
||||
|
||||
Vendored
+59
-12
@@ -21,6 +21,7 @@ class Panel::Archive::FrontEnd::ArchiveFilesController < OrbitWidgetController
|
||||
def index
|
||||
@item = Page.find(params[:page_id])
|
||||
@title = @item.title
|
||||
@frontend_style = @item.frontend_style
|
||||
if !@item.frontend_data_count.blank?
|
||||
@page_num = @item.frontend_data_count
|
||||
else
|
||||
@@ -28,23 +29,69 @@ class Panel::Archive::FrontEnd::ArchiveFilesController < OrbitWidgetController
|
||||
end
|
||||
|
||||
date_now = Time.now
|
||||
@archive_file_categorys = ArchiveFileCategory.all
|
||||
# @archive_file_categorys = ArchiveFileCategory.all
|
||||
# @archive_files = ArchiveFile.where( :is_hidden => false ).desc(:is_top).page(params[:page]).per(@page_num)
|
||||
|
||||
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
|
||||
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
|
||||
elsif !params[:tag_id].blank?
|
||||
@archive_files = ArchiveFile.default_sort(params[:sort]).can_display.where(:tagged_ids.in => params[:tag_id]).desc( :is_top ).page( params[:page_main] ).per(@page_num)
|
||||
if !params[:category_id].blank?
|
||||
@archive_file_categorys = @module_app.categories.enabled.any_in(:_id => params[:category_id])
|
||||
@archive_file_category_ids = @module_app.categories.enabled.any_in(:_id => params[:category_id]).collect{|a|a.id}
|
||||
else
|
||||
@archive_files = ArchiveFile.default_sort(params[:sort]).can_display.desc( :is_top ).page( params[:page_main] ).per(@page_num)
|
||||
@archive_file_categorys = @module_app.categories.enabled
|
||||
@archive_file_category_ids = @module_app.categories.enabled.collect{|a|a.id}
|
||||
end
|
||||
|
||||
|
||||
get_categorys
|
||||
if @frontend_style == "1"
|
||||
|
||||
if !params[:category_id].blank? && !params[:tag_id].blank?
|
||||
@archive_files = ArchiveFile.can_display.where(:category_id.in => @archive_file_category_ids, :tagged_ids.in => params[:tag_id]).desc( :is_top ).default_sort(params[:sort]).page( params[:page_main] ).per(@page_num)
|
||||
# @current_category = ArchiveFileCategory.from_id(params[:category_id]) rescue nil
|
||||
elsif !params[:category_id].blank?
|
||||
@archive_files = ArchiveFile.can_display.where(:category_id.in => @archive_file_category_ids).desc( :is_top ).default_sort(params[:sort]).page( params[:page_main] ).per(@page_num)
|
||||
# @current_category = ArchiveFileCategory.from_id(params[:category_id]) rescue nil
|
||||
elsif !params[:tag_id].blank?
|
||||
@archive_files = ArchiveFile.can_display.where(:category_id.in => @archive_file_category_ids,:tagged_ids.in => params[:tag_id]).desc( :is_top ).default_sort(params[:sort]).page( params[:page_main] ).per(@page_num)
|
||||
else
|
||||
@archive_files = ArchiveFile.can_display.where(:category_id.in => @archive_file_category_ids).desc( :is_top ).default_sort(params[:sort]).page( params[:page_main] ).per(@page_num)
|
||||
end
|
||||
|
||||
elsif @frontend_style == "2"
|
||||
|
||||
@archive_file_datas = Array.new
|
||||
|
||||
@archive_file_categorys.each do |afcg|
|
||||
|
||||
if !params[:category_id].blank? && !params[:tag_id].blank?
|
||||
@archive_files = ArchiveFile.can_display.where(:category_id.in => [afcg.id], :tagged_ids.in => params[:tag_id]).desc( :is_top ).default_sort(params[:sort])
|
||||
elsif !params[:category_id].blank?
|
||||
@archive_files = ArchiveFile.can_display.where(:category_id.in => [afcg.id]).desc( :is_top ).default_sort(params[:sort])
|
||||
elsif !params[:tag_id].blank?
|
||||
@archive_files = ArchiveFile.can_display.where(:category_id => afcg.id, :tagged_ids.in => params[:tag_id]).desc( :is_top ).default_sort(params[:sort])
|
||||
else
|
||||
@archive_files = ArchiveFile.can_display.where(:category_id => afcg.id).desc( :is_top ).default_sort(params[:sort])
|
||||
end
|
||||
|
||||
archive_file_datas = Array.new
|
||||
|
||||
@archive_files.each do |af|
|
||||
|
||||
archive_file_multiple_datas = Array.new
|
||||
|
||||
af.archive_file_multiples.asc(:sort_number).each do | afile |
|
||||
archive_file_multiple_datas << {
|
||||
"file_title" => (!afile.file_title.blank? ? afile.file_title : t('archive.download') ) ,
|
||||
"url" => afile.file.url,
|
||||
"icon" => af.get_file_icon(afile.file.url)
|
||||
} if afile.file.file and afile.choose_lang_display(I18n.locale.to_s)
|
||||
end
|
||||
|
||||
archive_file_datas << { "title" => af.title, "is_hot" => (!af.is_hot.blank? ? '1' : ''), "archive_file_multiples" => archive_file_multiple_datas } if !af.archive_file_multiples.blank? and !archive_file_multiple_datas.blank?
|
||||
end
|
||||
|
||||
@archive_file_datas << { "title" => afcg.title, "archive_files" => archive_file_datas } if !@archive_files.blank?
|
||||
end
|
||||
|
||||
end
|
||||
# get_categorys
|
||||
|
||||
if params[:sort]
|
||||
@archive_files = get_sorted_and_filtered('archive_file', nil, @archive_files)
|
||||
|
||||
Vendored
+81
-7
@@ -28,17 +28,91 @@ class Panel::Archive::Widget::ArchiveFilesController < OrbitWidgetController
|
||||
|
||||
date_now = Time.now
|
||||
|
||||
# if !params[:category_id].blank?
|
||||
# @archive_files = ArchiveFile.default_sort(params[:sort]).all.can_display.any_in(:category_id => params[:category_id]).merge(ArchiveFileCategory.excludes('disable' => true)).desc( :is_top ).page( params[:page_main] ).per(@page_num)
|
||||
# @archive_file_categorys = ArchiveFileCategory.any_in(:_id => params[:category_id]).excludes('disable' => true)
|
||||
# elsif !params[:tag_id].blank?
|
||||
# @archive_files = ArchiveFile.default_sort(params[:sort]).all.can_display.any_in(:tagged_ids => params[:tag_id]).merge(ArchiveFileCategory.excludes('disable' => true)).desc( :is_top ).page( params[:page_main] ).per(@page_num)
|
||||
# get_categorys
|
||||
# else
|
||||
# @archive_files = ArchiveFile.default_sort(params[:sort]).all.can_display.merge(ArchiveFileCategory.excludes('disable' => true)).desc( :is_top).page( params[:page_main] ).per(@page_num)
|
||||
# get_categorys
|
||||
# end
|
||||
|
||||
# if !params[:category_id].blank? && !params[:tag_id].blank?
|
||||
# @archive_files = ArchiveFile.default_sort(params[:sort]).can_display.where(: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
|
||||
# elsif !params[:category_id].blank?
|
||||
# @archive_files = ArchiveFile.default_sort(params[:sort]).can_display.where(: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
|
||||
# elsif !params[:tag_id].blank?
|
||||
# @archive_files = ArchiveFile.default_sort(params[:sort]).can_display.where(:tagged_ids.in => params[:tag_id]).desc( :is_top ).page( params[:page_main] ).per(@page_num)
|
||||
# else
|
||||
# @archive_files = ArchiveFile.default_sort(params[:sort]).can_display.desc( :is_top ).page( params[:page_main] ).per(@page_num)
|
||||
# end
|
||||
|
||||
|
||||
|
||||
if !params[:category_id].blank?
|
||||
@archive_files = ArchiveFile.default_sort(params[:sort]).all.can_display.any_in(:archive_file_category_id => params[:category_id]).merge(ArchiveFileCategory.excludes('disable' => true)).desc( :is_top ).page( params[:page_main] ).per(@page_num)
|
||||
@archive_file_categorys = ArchiveFileCategory.any_in(:_id => params[:category_id]).excludes('disable' => true)
|
||||
elsif !params[:tag_id].blank?
|
||||
@archive_files = ArchiveFile.default_sort(params[:sort]).all.can_display.any_in(:tagged_ids => params[:tag_id]).merge(ArchiveFileCategory.excludes('disable' => true)).desc( :is_top ).page( params[:page_main] ).per(@page_num)
|
||||
get_categorys
|
||||
@archive_file_categorys = @module_app.categories.enabled.any_in(:_id => params[:category_id])
|
||||
@archive_file_category_ids = @module_app.categories.enabled.any_in(:_id => params[:category_id]).collect{|a|a.id}
|
||||
else
|
||||
@archive_files = ArchiveFile.default_sort(params[:sort]).all.can_display.merge(ArchiveFileCategory.excludes('disable' => true)).desc( :is_top).page( params[:page_main] ).per(@page_num)
|
||||
get_categorys
|
||||
@archive_file_categorys = @module_app.categories.enabled
|
||||
@archive_file_category_ids = @module_app.categories.enabled.collect{|a|a.id}
|
||||
end
|
||||
|
||||
if @widget_style == "1"
|
||||
|
||||
if !params[:category_id].blank? && !params[:tag_id].blank?
|
||||
@archive_files = ArchiveFile.can_display.where(:category_id.in => @archive_file_category_ids, :tagged_ids.in => params[:tag_id]).desc( :is_top ).default_sort(params[:sort]).page( params[:page_main] ).per(@page_num)
|
||||
elsif !params[:category_id].blank?
|
||||
@archive_files = ArchiveFile.can_display.where(:category_id.in => @archive_file_category_ids).desc( :is_top ).default_sort(params[:sort]).page( params[:page_main] ).per(@page_num)
|
||||
elsif !params[:tag_id].blank?
|
||||
@archive_files = ArchiveFile.can_display.where(:category_id.in => @archive_file_category_ids,:tagged_ids.in => params[:tag_id]).desc( :is_top ).default_sort(params[:sort]).page( params[:page_main] ).per(@page_num)
|
||||
else
|
||||
@archive_files = ArchiveFile.can_display.where(:category_id.in => @archive_file_category_ids).desc( :is_top ).default_sort(params[:sort]).page( params[:page_main] ).per(@page_num)
|
||||
end
|
||||
|
||||
elsif @widget_style == "2"
|
||||
|
||||
@archive_file_datas = Array.new
|
||||
|
||||
@archive_file_categorys.each do |afcg|
|
||||
|
||||
if !params[:category_id].blank? && !params[:tag_id].blank?
|
||||
@archive_files = ArchiveFile.can_display.where(:category_id.in => [afcg.id], :tagged_ids.in => params[:tag_id]).desc( :is_top ).default_sort(params[:sort]).limit(@page_num)
|
||||
elsif !params[:category_id].blank?
|
||||
@archive_files = ArchiveFile.can_display.where(:category_id.in => [afcg.id]).desc( :is_top ).default_sort(params[:sort]).limit(@page_num)
|
||||
elsif !params[:tag_id].blank?
|
||||
@archive_files = ArchiveFile.can_display.where(:category_id => afcg.id, :tagged_ids.in => params[:tag_id]).desc( :is_top ).default_sort(params[:sort]).limit(@page_num)
|
||||
else
|
||||
@archive_files = ArchiveFile.can_display.where(:category_id => afcg.id).desc( :is_top ).default_sort(params[:sort]).limit(@page_num)
|
||||
end
|
||||
|
||||
archive_file_datas = Array.new
|
||||
|
||||
@archive_files.each do |af|
|
||||
|
||||
archive_file_multiple_datas = Array.new
|
||||
|
||||
af.archive_file_multiples.asc(:sort_number).each do | afile |
|
||||
archive_file_multiple_datas << {
|
||||
"file_title" => (!afile.file_title.blank? ? afile.file_title : t('archive.download') ) ,
|
||||
"url" => afile.file.url,
|
||||
"icon" => af.get_file_icon(afile.file.url)
|
||||
} if afile.file.file and afile.choose_lang_display(I18n.locale.to_s)
|
||||
end
|
||||
|
||||
archive_file_datas << { "title" => af.title, "is_hot" => (!af.is_hot.blank? ? '1' : ''), "archive_file_multiples" => archive_file_multiple_datas } if !af.archive_file_multiples.blank? and !archive_file_multiple_datas.blank?
|
||||
end
|
||||
|
||||
@archive_file_datas << { "title" => afcg.title, "archive_files" => archive_file_datas } if !@archive_files.blank?
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
if params[:sort]
|
||||
@archive_files = get_sorted_and_filtered('archive_file', nil, @archive_files)
|
||||
end
|
||||
|
||||
@@ -1,22 +1,25 @@
|
||||
# encoding: utf-8
|
||||
|
||||
class ArchiveFile
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
include Mongoid::MultiParameterAttributes
|
||||
include Mongoid::Sortable
|
||||
include Sunspot::Mongo
|
||||
|
||||
include OrbitCategory::Categorizable
|
||||
include OrbitModel::LanguageRestrict
|
||||
include OrbitModel::Status
|
||||
include OrbitModel::TimeFrame
|
||||
include OrbitTag::Taggable
|
||||
|
||||
BelongsToCategory = :archive_file_category
|
||||
# BelongsToCategory = :archive_file_category
|
||||
|
||||
PAYMENT_TYPES = @site_valid_locales
|
||||
# PAYMENT_TYPES = @site_valid_locales
|
||||
|
||||
|
||||
field :title, localize: true
|
||||
field :create_user_id
|
||||
field :update_user_id
|
||||
field :update_user_id, :class_name => "User"
|
||||
|
||||
# belongs_to :archive_file_category
|
||||
|
||||
@@ -31,12 +34,13 @@ class ArchiveFile
|
||||
# searchable do
|
||||
# text :titles do
|
||||
# title_translations.to_a.collect{|t| t[1]}
|
||||
# end
|
||||
# end
|
||||
# boolean :frontend_search do
|
||||
# !is_hidden
|
||||
# end
|
||||
|
||||
# end
|
||||
|
||||
|
||||
def self.search( category_id = nil )
|
||||
|
||||
|
||||
@@ -4,9 +4,8 @@ class ArchiveFileCategory
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
include OrbitCoreLib::ObjectAuthable
|
||||
include OrbitCoreLib::ObjectDisable
|
||||
include Sunspot::Mongo
|
||||
# include Mongoid::MultiParameterAttributes
|
||||
include OrbitCoreLib::ObjectDisable
|
||||
|
||||
APP_NAME = 'Archive'
|
||||
ObjectAuthTitlesOptions = %W{submit_new fact_check}
|
||||
AfterObjectAuthUrl = '/panel/archive/back_end/archive_file_categorys'
|
||||
@@ -19,21 +18,6 @@ class ArchiveFileCategory
|
||||
has_many :archive_files
|
||||
|
||||
validates :title, :at_least_one => true
|
||||
|
||||
searchable do
|
||||
text :titles do
|
||||
title_translations.to_a.collect{|t| t[1]}
|
||||
end
|
||||
|
||||
boolean :frontend_search do
|
||||
!disable
|
||||
end
|
||||
|
||||
text :files do
|
||||
archive_files.can_display.collect{|t| t.title_translations.to_a.collect{|t| t[1]}}
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
def pp_object
|
||||
|
||||
Vendored
+164
-125
@@ -1,157 +1,196 @@
|
||||
<% # encoding: utf-8 %>
|
||||
<% 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" %>
|
||||
<% end %>
|
||||
|
||||
<%= f.error_messages %>
|
||||
|
||||
<!--Widget start-->
|
||||
<!-- Input Area -->
|
||||
<div class="input-area">
|
||||
|
||||
<div id="sub-wiget">
|
||||
<!-- Module Tabs -->
|
||||
<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(@archive_file) %>
|
||||
<li>
|
||||
<a href="#status" data-toggle="tab"><%= t(:status) %></a>
|
||||
</li>
|
||||
<% end %>
|
||||
<li>
|
||||
<a href="#tag" data-toggle="tab"><%= t(:tags) %></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<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>Status</h3>
|
||||
<div class="widget-content clear">
|
||||
<div class="controls">
|
||||
<%= f.check_box :is_top %><%= t('top') %>
|
||||
<%= f.check_box :is_hot %><%= t('hot') %>
|
||||
<%= f.check_box :is_hidden %><%= t('hide') %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Module -->
|
||||
<div class="tab-content module-area">
|
||||
|
||||
<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>Tags</h3>
|
||||
<div class="widget-content clear form-horizontal">
|
||||
<% @tags.each do |tag| %>
|
||||
<%= check_box_tag 'archive_file[tag_ids][]', tag.id, @archive_file.tag_ids.include?(tag.id)%>
|
||||
<%= tag.name %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Basic Module -->
|
||||
<div class="tab-pane fade in active" id="basic">
|
||||
|
||||
</div>
|
||||
<!-- Category -->
|
||||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t(:category) %></label>
|
||||
<div class="controls">
|
||||
<%= f.select :category_id, @categories.collect{|t| [ t.title, t.id ]} %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Sort -->
|
||||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t(:sort_number) %></label>
|
||||
<div class="controls">
|
||||
<%= f.text_field :sort_number %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--Wiget End-->
|
||||
<!--Post Start-->
|
||||
</div>
|
||||
|
||||
<div id="post-body">
|
||||
<div id="post-body-content" class="clear">
|
||||
<!-- Status Module -->
|
||||
<% if show_form_status_field(@archive_file) %>
|
||||
<div class="tab-pane fade" id="status">
|
||||
|
||||
<%= f.label :category %>
|
||||
<%= f.select :archive_file_category_id, @archive_file_categorys.collect {|t| [ t.title, t.id ]} %>
|
||||
<!-- 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 @archive_file.is_top? %>">
|
||||
<%= f.check_box :is_top %> <%= t(:top) %>
|
||||
</label>
|
||||
<label class="checkbox inline btn <%= 'active' if @archive_file.is_hot? %>">
|
||||
<%= f.check_box :is_hot %> <%= t(:hot) %>
|
||||
</label>
|
||||
<label class="checkbox inline btn <%= 'active' if @archive_file.is_hidden? %>">
|
||||
<%= f.check_box :is_hidden %> <%= t(:hide) %>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%= f.label :sort_number %>
|
||||
<%= f.text_field :sort_number %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<ul class="nav nav-tabs">
|
||||
<% @site_valid_locales.each_with_index do |locale, i| %>
|
||||
<%# site_valid_locales_default_head.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>
|
||||
<!-- Tag Module -->
|
||||
<div class="tab-pane fade" id="tag">
|
||||
|
||||
<div class="tab-content">
|
||||
<!-- 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 @archive_file.tag_ids.include?(tag.id) %>">
|
||||
<%= check_box_tag 'archive_file[tag_ids][]', tag.id, @archive_file.tag_ids.include?(tag.id) %> <%= tag.name %>
|
||||
<%= hidden_field_tag 'archive_file[tag_ids][]', '' %>
|
||||
</label>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% @site_valid_locales.each_with_index do |locale, i| %>
|
||||
</div>
|
||||
|
||||
<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>">
|
||||
<div class="title">
|
||||
<%= f.label :title %>
|
||||
<%= f.fields_for :title_translations do |f| %>
|
||||
<%= I18nVariable.from_locale(locale) %>
|
||||
<%= f.text_field locale, :class=>'post-title', :value => (@archive_file.title_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</div>
|
||||
</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>
|
||||
|
||||
<% end %>
|
||||
<!-- Language -->
|
||||
<div class="tab-content language-area">
|
||||
|
||||
</div>
|
||||
<% @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: (@archive_file.title_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
</div>
|
||||
|
||||
<div class="archive_file_multiples_block">
|
||||
<% end %>
|
||||
|
||||
<table class="table table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>排序數</th>
|
||||
<th>File</th>
|
||||
<th>File Name</th>
|
||||
<th class="span2"><%= t('呈現語系')%></th>
|
||||
<th class="span1"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td style="text-align:center" colspan="4">
|
||||
<div id='add_archive_file_multiple' class="info_input archive_file_multiples_block">
|
||||
<%= hidden_field_tag 'archive_file_multiple_field_count', @archive_file.archive_file_multiples.count %>
|
||||
<a class="add"><span class="btn btn-primary btn-small"><i class="icon-plus icon-white"></i> ADD/新增</span></a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- File -->
|
||||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t(:file_) %></label>
|
||||
<div class="controls">
|
||||
|
||||
</tfoot>
|
||||
<tbody>
|
||||
<!-- Exist -->
|
||||
<% if @archive_file && !@archive_file.archive_file_multiples.blank? %>
|
||||
<div class="exist">
|
||||
<% @archive_file.archive_file_multiples.each_with_index do |archive_file_multiple, i| %>
|
||||
<%= f.fields_for :archive_file_multiples, archive_file_multiple do |f| %>
|
||||
<%= render :partial => 'form_file', :object => archive_file_multiple, :locals => {:f => f, :i => i} %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<hr>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% @archive_file.archive_file_multiples.asc(:_id).each_with_index do |archive_file_multiple, i| %>
|
||||
<%= f.fields_for :archive_file_multiples, archive_file_multiple do |f| %>
|
||||
<%= render :partial => 'form_file', :object => archive_file_multiple, :locals => {:f => f, :i => i} %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- Add -->
|
||||
<div class="add-target">
|
||||
</div>
|
||||
<p class="add-btn">
|
||||
<%= hidden_field_tag 'archive_file_multiple_field_count', @archive_file.archive_file_multiples.count %>
|
||||
<a id="add_file" class="trigger btn btn-small btn-primary"><i class="icons-plus"></i> <%= t(:add) %></a>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!--Post End-->
|
||||
|
||||
|
||||
<div class="form-actions">
|
||||
<%= hidden_field_tag 'page', params[:page] if !params[:page].blank? %>
|
||||
<%= hidden_field_tag 'filter', params[:filter] %>
|
||||
<%= f.submit t('submit'), :class=>'btn btn-primary' %>
|
||||
<%= link_to t('cancel'), get_go_back, :class=>"btn" %>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Form Actions -->
|
||||
<div class="form-actions">
|
||||
<%= hidden_field_tag 'page', params[:page] if !params[:page].blank? %>
|
||||
<%= f.submit t('submit'), class: 'btn btn-primary' %>
|
||||
<%= link_to t('cancel'), get_go_back, :class=>"btn" %>
|
||||
</div>
|
||||
|
||||
<% content_for :page_specific_javascript do %>
|
||||
<%= javascript_include_tag "archive_form" %>
|
||||
<script>
|
||||
$('#add_archive_file_multiple a.add').live('click', function(){
|
||||
var new_id = $(this).prev().attr('value');
|
||||
var old_id = new RegExp("new_archive_file_multiples", "g");
|
||||
$(this).prev().attr('value', parseInt(new_id) + 1);
|
||||
var new_form_file = $("<%= escape_javascript(add_attribute 'form_file', f, :archive_file_multiples) %>".replace(old_id, new_id));
|
||||
new_form_file.find('input#archive_file_archive_file_multiples_attributes_'+new_id+'_sort_number').val(new_id * 10)
|
||||
$(this).parents('table').append(new_form_file);
|
||||
});
|
||||
|
||||
$('.archive_file_multiples_block a.delete').live('click', function(){
|
||||
$(this).parents('.list_item').remove();
|
||||
});
|
||||
|
||||
$('.action a.remove_existing_record').live('click', function(){
|
||||
$(this).next('.should_destroy').attr('value', 1);
|
||||
$("tr#archive_file_" + $(this).prev().attr('value')).hide();
|
||||
});
|
||||
|
||||
</script>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('.main-forms .add-on').tooltip();
|
||||
$(document).on('click', '#add_file', function(){
|
||||
var new_id = $(this).prev().attr('value');
|
||||
var old_id = new RegExp("new_archive_file_multiples", "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, :archive_file_multiples) %>").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');
|
||||
});
|
||||
$('.main-forms .add-on').tooltip();
|
||||
});
|
||||
$('.for_preview').popover({ html : true });
|
||||
$(document).on('click', '.delete_file', 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 %>
|
||||
|
||||
Vendored
+52
-60
@@ -1,64 +1,56 @@
|
||||
<% # encoding: utf-8 %>
|
||||
<div class="fileupload fileupload-new start-line" data-provides="fileupload">
|
||||
<%= form_file.file.file ? ( link_to t(:view), form_file.file.url, {:class => 'btn', :target => '_blank', :title => t(:view)} ) : '' %>
|
||||
<div class="input-prepend input-append">
|
||||
<label>
|
||||
<span class="add-on btn btn-file" title="<%= t(: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>
|
||||
<span class="add-on icons-pencil" title="<%= 'File Name' %>"></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 :file_title_translations do |f| %>
|
||||
<%= f.text_field locale, :class => "input-medium", placeholder: 'File Name', :value => (form_file.file_title_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</span>
|
||||
<% end %>
|
||||
</span>
|
||||
|
||||
<tr id="<%= "archive_file_multiple_#{form_file.id}" if !form_file.new_record? %>" class='list_item'>
|
||||
<td>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<%= f.text_field :sort_number %>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<%= f.file_field :file %>
|
||||
<%= form_file.file.file ? ( link_to t(:view), form_file.file.url, {:class => 'btn', :target => '_blank', :title => t(:view)} ) : '' %>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<span class="add-on icon-list-ol" title="<%= t(:sort_number) %>"></span>
|
||||
<span class="tab-content">
|
||||
<%= f.text_field :sort_number , :class => "input-mini"%>
|
||||
</span>
|
||||
|
||||
<div class="tab-content">
|
||||
<span class="add-on btn-group btn" title="<%= t('archive.show_lang') %>">
|
||||
<%= t('archive.show_lang') %> <span class="caret"></span>
|
||||
<ul class="dropdown-menu">
|
||||
<% @site_valid_locales.each do |locale| %>
|
||||
<li>
|
||||
<label class="checkbox">
|
||||
<%= check_box_tag "archive_file[archive_file_multiples_attributes][#{( form_file.new_record? ? 'new_archive_file_multiples' : "#{i}" )}][choose_lang][]", locale, (form_file.choose_lang.nil? ? true : form_file.choose_lang.include?(locale)) %>
|
||||
<%= I18nVariable.from_locale(locale) %>
|
||||
</label>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<%= hidden_field_tag 'archive_file[archive_file_multiples_attributes][0][choose_lang][]', '' %>
|
||||
</span>
|
||||
|
||||
<% @site_valid_locales.each_with_index do |locale, i| %>
|
||||
|
||||
<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>">
|
||||
<%#= f.fields_for :i18n_variable, (form_file.new_record? ? form_file.build_i18n_variable : form_file.i18n_variable ) do |f| %>
|
||||
<%= f.fields_for :file_title_translations do |f| %>
|
||||
<div class="control-group">
|
||||
<label for="link-<%= locale %>" class="control-label"><%= I18nVariable.from_locale(locale) %></label>
|
||||
<div class="controls">
|
||||
<%= f.text_field locale, :class=>'post-file_title', :value => (form_file.file_title_translations[locale] rescue nil) %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<% @site_valid_locales.each do |locale| %>
|
||||
<%= check_box_tag "archive_file[archive_file_multiples_attributes][#{( form_file.new_record? ? 'new_archive_file_multiples' : "#{i}" )}][choose_lang][]", locale, (form_file.choose_lang.nil? ? true : form_file.choose_lang.include?(locale)) %>
|
||||
<%= I18nVariable.from_locale(locale) %>
|
||||
<% end %>
|
||||
<%= hidden_field_tag 'archive_file[archive_file_multiples_attributes][0][choose_lang][]', '' %>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="action">
|
||||
<% if form_file.new_record? %>
|
||||
<a class="delete"><i class="icon-remove"></i></a>
|
||||
<% else %>
|
||||
<%= f.hidden_field :id %>
|
||||
<a class="remove_existing_record"><i class="icon-remove"></i></a>
|
||||
<%= f.hidden_field :should_destroy, :value => nil, :class => 'should_destroy' %>
|
||||
<% end %>
|
||||
</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<span class="delete_file add-on btn" title="<%= t(:delete) %>">
|
||||
<% 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>
|
||||
|
||||
Vendored
+5
-5
@@ -1,5 +1,5 @@
|
||||
<h1><%= t('archive.editing_archive') %></h1>
|
||||
|
||||
<%= form_for @archive_file, :url => panel_archive_back_end_archive_file_path(@archive_file), :html => {:class => 'clear'} do |f| %>
|
||||
<%= render :partial => 'form', :locals => {:f => f} %>
|
||||
<% end %>
|
||||
<%= form_for @archive_file, url: panel_archive_back_end_archive_file_path(@archive_file), html: {class: "form-horizontal main-forms previewable"} do |f| %>
|
||||
<fieldset>
|
||||
<%= render partial: 'form', locals: {f: f} %>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
Vendored
+47
-23
@@ -1,24 +1,48 @@
|
||||
<%= render 'filter' %>
|
||||
<% set_default_index do
|
||||
objects @archive_files
|
||||
filterable
|
||||
sortable
|
||||
quick_edit_link type: 'edit',
|
||||
link: 'edit_panel_archive_back_end_archive_file_path'
|
||||
quick_edit_link type: 'detail'
|
||||
quick_edit_link type: 'delete',
|
||||
link: 'panel_archive_back_end_archive_file_path'
|
||||
field type: 'status',
|
||||
db_field: @statuses,
|
||||
translation: 'status',
|
||||
hide: 'phone',
|
||||
sort: 'status',
|
||||
header_class: 'span2'
|
||||
field type: 'associated',
|
||||
associated_value: 'title',
|
||||
db_field: 'category',
|
||||
translation: 'category',
|
||||
hide: 'phone',
|
||||
sort: 'category',
|
||||
header_class: 'span2'
|
||||
field type: 'field',
|
||||
db_field: 'title',
|
||||
translation: 'title',
|
||||
sort: 'title',
|
||||
link: 'panel_archive_front_end_archive_file_path',
|
||||
quick_edit: true
|
||||
field type: 'tags',
|
||||
db_field: 'tags',
|
||||
translation: 'tags',
|
||||
hide: 'all',
|
||||
sort: 'tags'
|
||||
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_archive_back_end_archive_file_path'
|
||||
end %>
|
||||
|
||||
<table class="table main-list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="span1"></th>
|
||||
<th class="span1"></th>
|
||||
<th class="span1"></th>
|
||||
<th class="span2"></th>
|
||||
<th class="span3"></th>
|
||||
<th class="span2"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tbody_archive">
|
||||
<%= render :partial => 'archive_file', :collection => @archive_files %>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="form-actions form-fixed pagination-right">
|
||||
<%= link_to content_tag(:i, nil, :class => 'icon-plus icon-white') + t(:add), new_panel_archive_back_end_archive_file_path, :class => 'btn btn-primary pull-right' if (is_manager? rescue nil) %>
|
||||
<div id="archive_file_pagination" class="paginationFixed">
|
||||
<%= paginate @archive_files, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %>
|
||||
</div>
|
||||
</div>
|
||||
<%= render 'admin/default_index/index' %>
|
||||
Vendored
+4
-8
@@ -1,9 +1,5 @@
|
||||
|
||||
<%= flash_messages %>
|
||||
<h1><%= t('archive_file.new_archive') %></h1>
|
||||
<%= form_for @archive_file, :url => panel_archive_back_end_archive_files_path, :html => {:class => 'clear'} do |f| %>
|
||||
<%= render :partial => 'form', :locals => {:f => f} %>
|
||||
<%= form_for @archive_file, url: panel_archive_back_end_archive_files_path, html: {class: "form-horizontal main-forms previewable"} do |f| %>
|
||||
<fieldset>
|
||||
<%= render partial: 'form', locals: {f: f} %>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
|
||||
<%#= link_back %>
|
||||
|
||||
Vendored
+47
-5
@@ -1,5 +1,6 @@
|
||||
<% # encoding: utf-8 %>
|
||||
|
||||
<% if @frontend_style == '1' %>
|
||||
|
||||
<div class="o-archives layout-table">
|
||||
|
||||
@@ -15,15 +16,19 @@
|
||||
|
||||
<% @archive_files.each_with_index do |post,i| %>
|
||||
<tr <% if ( (i + 1) % 2 ) == 0 %> class="even" <% end %>>
|
||||
<td><div class="o-archives-title"><%= post.title %></div></td>
|
||||
<td>
|
||||
<div class="o-archives-title"><%= post.title %>
|
||||
<% if !post.is_hot.blank? %><span class="o-archives-hot"><%= t('hot')%></span><% end %>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="o-archives-list-item">
|
||||
<% if !post.archive_file_multiples.blank? %>
|
||||
<ol>
|
||||
<% post.archive_file_multiples.asc(:_id).each do | afile | %>
|
||||
<% post.archive_file_multiples.asc(:sort_number).each do | afile | %>
|
||||
<% if afile.file.file and afile.choose_lang_display(I18n.locale.to_s) %>
|
||||
<li>
|
||||
<%= link_to afile.file_title, afile.file.url, {:target => '_blank', :title => afile.file_title, :class => "o-archives-file"} %>
|
||||
<%= link_to (!afile.file_title.blank? ? afile.file_title : t('archive.download') ), afile.file.url, {:target => '_blank', :title => afile.file_title, :class => "o-archives-file"} if afile.file.file %>
|
||||
<%= post.get_file_icon(afile.file.url) %>
|
||||
</li>
|
||||
<% end %>
|
||||
@@ -33,7 +38,7 @@
|
||||
</div>
|
||||
</td>
|
||||
<td><div class="o-archives-category">
|
||||
<%= post.archive_file_category.title %>
|
||||
<%= post.category.title if !post.category.blank? %>
|
||||
</div></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
@@ -42,7 +47,44 @@
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<%= paginate @archive_files, :param_name => :page_main, :params => {:inner => 'false'} %>
|
||||
<%= paginate @archive_files, :param_name => :page_main, :params => {:inner => 'false'} %>
|
||||
|
||||
<% elsif @frontend_style == '2' %>
|
||||
|
||||
<div class="o-archives">
|
||||
<div class="o-archives-content">
|
||||
<% @archive_file_datas.each do |afcpost| %>
|
||||
<div class="o-archives-group">
|
||||
<h2 class="o-archives-category h2"><%= afcpost["title"] %></h2>
|
||||
<div class="o-archives-content">
|
||||
<div class="o-archives-list">
|
||||
<ul>
|
||||
<% afcpost["archive_files"].each do |post| %>
|
||||
<li>
|
||||
<h3 class="o-archives-title h3">
|
||||
<%= post["title"] %>
|
||||
<% if !post["is_hot"].blank? %><span class="o-archives-hot"><%= t('hot')%></span><% end %>
|
||||
</h3>
|
||||
<div class="o-archives-list-item">
|
||||
<ol>
|
||||
<% post["archive_file_multiples"].each do | afile | %>
|
||||
<li>
|
||||
<%= link_to afile["file_title"], afile["url"], {:target => '_blank', :title => afile["file_title"], :class => "o-archives-file"} %>
|
||||
<%= afile["icon"] %>
|
||||
</li>
|
||||
<% end %>
|
||||
</ol>
|
||||
</div>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
<%= stylesheet_link_tag "archive/archives" %>
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -13,7 +13,7 @@
|
||||
<% @archive_file.archive_file_multiples.each do | afile | %>
|
||||
<% if afile.file.file and afile.choose_lang_display(I18n.locale.to_s) %>
|
||||
<li>
|
||||
<%= link_to afile.file_title, afile.file.url, {:target => '_blank', :title => afile.file_title, :class => "o-archives-file"} %>
|
||||
<%= link_to (!afile.file_title.blank? ? afile.file_title : t('download_') ), afile.file.url, {:target => '_blank', :title => afile.file_title, :class => "o-archives-file"} if afile.file.file %>
|
||||
<%= @archive_file.get_file_icon(afile.file.url) %>
|
||||
</li>
|
||||
<% end %>
|
||||
|
||||
Vendored
+26
-29
@@ -16,7 +16,11 @@
|
||||
<tbody>
|
||||
<% @archive_files.each_with_index do |post,i| %>
|
||||
<tr <% if ( (i + 1) % 2 ) == 0 %> class="even" <% end %>>
|
||||
<td><div class="o-archives-title"><%= post.title %></div></td>
|
||||
<td>
|
||||
<div class="o-archives-title"><%= post.title %>
|
||||
<% if !post.is_hot.blank? %><span class="o-archives-hot"><%= t('hot')%></span><% end %>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="o-archives-list-item">
|
||||
<% if !post.archive_file_multiples.blank? %>
|
||||
@@ -24,7 +28,7 @@
|
||||
<% post.archive_file_multiples.asc(:_id).each do | afile | %>
|
||||
<% if afile.file.file and afile.choose_lang_display(I18n.locale.to_s) %>
|
||||
<li>
|
||||
<%= link_to afile.file_title, afile.file.url, {:target => '_blank', :title => afile.file_title, :class => "o-archives-file"} %>
|
||||
<%= link_to (!afile.file_title.blank? ? afile.file_title : t('archive.download') ), afile.file.url, {:target => '_blank', :title => afile.file_title, :class => "o-archives-file"} if afile.file.file %>
|
||||
<%= post.get_file_icon(afile.file.url) %>
|
||||
</li>
|
||||
<% end %>
|
||||
@@ -34,7 +38,7 @@
|
||||
</div>
|
||||
</td>
|
||||
<td><div class="o-archives-category">
|
||||
<%= post.archive_file_category.title %>
|
||||
<%= post.category.title if !post.category.blank? %>
|
||||
</div></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
@@ -42,57 +46,50 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="pull_right">
|
||||
<% if !params[:category_id].blank? %>
|
||||
<%= link_to t(:more_plus), panel_archive_front_end_archive_files_path(:category_id => @part.category) %>
|
||||
<% else %>
|
||||
<%= link_to t(:more_plus), panel_archive_front_end_archive_files_path %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% elsif @widget_style == '2' %>
|
||||
|
||||
<div class="o-archives">
|
||||
<div class="o-archives-content">
|
||||
|
||||
<% @archive_file_categorys.each do |afcpost| %>
|
||||
<% @archive_file_datas.each do |afcpost| %>
|
||||
|
||||
<div class="o-archives-group">
|
||||
<% if @category_id.blank? %>
|
||||
<h2 class="o-archives-category h2"><%= afcpost.title %></h2>
|
||||
<% end %>
|
||||
<h2 class="o-archives-category h2"><%= afcpost["title"] %></h2>
|
||||
<div class="o-archives-content">
|
||||
<div class="o-archives-list">
|
||||
<ul>
|
||||
|
||||
<% afcpost.archive_files.can_display.desc( :is_top ).each do |post| %>
|
||||
<% afcpost["archive_files"].each do |post| %>
|
||||
<li>
|
||||
<h3 class="o-archives-title h3"><%= post.title %></h3>
|
||||
<h3 class="o-archives-title h3">
|
||||
<%= post["title"] %>
|
||||
<% if !post["is_hot"].blank? %><span class="o-archives-hot"><%= t('hot')%></span><% end %>
|
||||
</h3>
|
||||
<div class="o-archives-list-item">
|
||||
|
||||
<% if !post.archive_file_multiples.blank? %>
|
||||
<ol>
|
||||
<% post.archive_file_multiples.asc(:_id).each do | afile | %>
|
||||
<% if afile.file.file and afile.choose_lang_display(I18n.locale.to_s) %>
|
||||
<% post["archive_file_multiples"].each do | afile | %>
|
||||
<li>
|
||||
<%= link_to afile.file_title, afile.file.url, {:target => '_blank', :title => afile.file_title, :class => "o-archives-file"} %>
|
||||
<%= post.get_file_icon(afile.file.url) %>
|
||||
<%= link_to afile["file_title"], afile["url"], {:target => '_blank', :title => afile["file_title"], :class => "o-archives-file"} %>
|
||||
<%= afile["icon"] %>
|
||||
</li>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</ol>
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
<% end %>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
<div class="pull_right">
|
||||
<% if !params[:category_id].blank? %>
|
||||
<%= link_to t(:more_plus), panel_archive_front_end_archive_files_path(:category_id => @part.category) %>
|
||||
<% else %>
|
||||
<%= link_to t(:more_plus), panel_archive_front_end_archive_files_path %>
|
||||
<% end %>
|
||||
</div>
|
||||
@@ -1,6 +1,8 @@
|
||||
en:
|
||||
|
||||
archive:
|
||||
show_lang: Language
|
||||
download: Download
|
||||
archive: Archive
|
||||
Title: Title
|
||||
Files: Files
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
zh_tw:
|
||||
|
||||
archive:
|
||||
show_lang: 呈現語系
|
||||
download: 檔案下載
|
||||
archive: 檔案室
|
||||
Title: 標題
|
||||
Files: 檔案
|
||||
|
||||
+9
-10
@@ -12,14 +12,16 @@ module Archive
|
||||
update_info 'some update_info'
|
||||
|
||||
front_end do
|
||||
app_page 'archive_files' do
|
||||
app_page 'archive_files' do
|
||||
frontend_i18n "archive.frontend.archive"
|
||||
style ["1","2"]
|
||||
end
|
||||
end
|
||||
|
||||
category ["ArchiveFileCategory"]
|
||||
# category ["ArchiveFileCategory"]
|
||||
|
||||
authorizable
|
||||
categorizable
|
||||
taggable
|
||||
|
||||
widgets do
|
||||
@@ -35,7 +37,7 @@ module Archive
|
||||
|
||||
customize_widget "index" do
|
||||
widget_i18n "archive.widget.index"
|
||||
style ["1"]
|
||||
style ["1","2"]
|
||||
end
|
||||
|
||||
customize_widget "archive_search_block" do
|
||||
@@ -50,7 +52,8 @@ module Archive
|
||||
side_bar do
|
||||
head_label_i18n 'archive.archive',:icon_class=>"icons-archive"
|
||||
available_for [:admin,:guest,:manager,:sub_manager]
|
||||
active_for_controllers ({:private=>['archive_file_categorys','archive_files'],:public=>['panel/archive/back_end/tags']})
|
||||
# active_for_controllers ({:private=>['archive_file_categorys','archive_files'],:public=>['panel/archive/back_end/tags']})
|
||||
active_for_controllers ({:private=>['archive_file_categorys','archive_files','module_tags', 'categories']})
|
||||
active_for_object_auth ['ArchiveFileCategory']
|
||||
|
||||
head_link_path "panel_archive_back_end_archive_files_path"
|
||||
@@ -66,19 +69,15 @@ module Archive
|
||||
:active_for_action=>{:archive_files=>:new},
|
||||
:available_for => [:sub_manager]
|
||||
context_link 'categories',
|
||||
:link_path=>"panel_archive_back_end_archive_file_categorys_path" ,
|
||||
:link_path=>"admin_module_app_categories_path(get_module_app)" ,
|
||||
:priority=>3,
|
||||
:active_for_action=>{:archive_file_categorys=>:index},
|
||||
:active_for_category => 'Archive',
|
||||
:available_for => [:manager]
|
||||
context_link 'tags',
|
||||
:link_path=>"admin_module_tags_path(module_app_id: get_module_app)" ,
|
||||
:priority=>4,
|
||||
:active_for_tag => 'Archive',
|
||||
:available_for => [:manager]
|
||||
context_link 'module_authorization',
|
||||
:link_path=>"admin_authorizations_path(get_module_app.key)",
|
||||
:priority=>5,
|
||||
:available_for => [:manager]
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
Vendored
Executable → Regular
+42
-21
@@ -1,69 +1,90 @@
|
||||
/* General style with default layout */
|
||||
.o-links {}
|
||||
.o-links-group {
|
||||
.o-links .o-links-group {
|
||||
margin: 20px 0 0 0;
|
||||
padding: 20px 0 0 0;
|
||||
border-top: dashed 1px #EEE;
|
||||
}
|
||||
.o-links-group:first-child {
|
||||
.o-links .o-links-group:first-child {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
}
|
||||
.o-links-category {
|
||||
.o-links .o-links-category {
|
||||
padding-bottom: 16px;
|
||||
border-bottom: solid 2px #CCC;
|
||||
font-weight: bold;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
.o-links-content {}
|
||||
.o-links-content > ul {
|
||||
.o-links .o-links-content {}
|
||||
.o-links .o-links-content > ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.o-links-content > ul > li {}
|
||||
.o-links-list {}
|
||||
.o-links-list > ul {}
|
||||
.o-links-list > ul > li {
|
||||
.o-links .o-links-content > ul > li {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
.o-links .o-links-list {}
|
||||
.o-links .o-links-list > ul {}
|
||||
.o-links .o-links-list > ul > li {
|
||||
padding: 10px 0 0 0;
|
||||
margin: 10px 0 0 0;
|
||||
border-top: solid 1px #eee;
|
||||
}
|
||||
.o-links-list > ul > li:first-child {
|
||||
.o-links .o-links-list > ul > li:first-child {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
}
|
||||
.o-links-title {}
|
||||
.o-links-link {
|
||||
.o-links .o-links-title {}
|
||||
.o-links .o-links-link {
|
||||
font-weight: bold;
|
||||
}
|
||||
.o-links-link:hover {}
|
||||
.o-links-description {}
|
||||
.o-links .o-links-link:hover {}
|
||||
.o-links .o-links-description {
|
||||
margin: 12px 0;
|
||||
font-size: 0.85em;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
.o-links .o-links-hot {
|
||||
background-color: #D83131;
|
||||
border-radius: 3px;
|
||||
color: #FFFFFF;
|
||||
display: inline-block;
|
||||
font-size: 11px;
|
||||
font-weight: normal;
|
||||
line-height: 20px;
|
||||
margin: 0 0 0 8px;
|
||||
padding: 0 4px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* Tag list */
|
||||
.o-links-tag-list {
|
||||
.o-links .o-links-tag-list {
|
||||
margin: 0 0 16px 0;
|
||||
}
|
||||
.o-links-tag-list ul {
|
||||
.o-links .o-links-tag-list ul {
|
||||
margin: 0 -4px;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.o-links-tag-list ul:after {
|
||||
.o-links .o-links-tag-list ul:after {
|
||||
content: ".";
|
||||
clear: both;
|
||||
display: block;
|
||||
height: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
.o-links-tag-list li {
|
||||
.o-links .o-links-tag-list li {
|
||||
float: left;
|
||||
margin: 0 4px 8px 4px;
|
||||
}
|
||||
.o-links-tag {
|
||||
.o-links .o-links-tag {
|
||||
display: block;
|
||||
border: solid 1px #ccc;
|
||||
padding: 2px 6px;
|
||||
padding: 4px;
|
||||
font-size: 0.85em;
|
||||
}
|
||||
.o-links-tag:hover {}
|
||||
.o-links .o-links-tag:hover {}
|
||||
+60
-32
@@ -1,50 +1,68 @@
|
||||
class Panel::WebResource::BackEnd::WebLinksController < OrbitBackendController
|
||||
include OrbitControllerLib::DivisionForDisable
|
||||
# include OrbitControllerLib::DivisionForDisable
|
||||
# before_filter :for_app_manager,:except => [:index,:show]
|
||||
|
||||
before_filter :force_order_for_visitor,:only=>[:index]
|
||||
before_filter :force_order_for_user,:except => [:index]
|
||||
|
||||
before_filter :for_app_sub_manager,:except => [:index]
|
||||
before_filter :only => [ :new,:edit,:update,:create] do |controller|
|
||||
controller.get_categorys('WebLinkCategory')
|
||||
# before_filter :only => [ :new,:edit,:update,:create] do |controller|
|
||||
# controller.get_categorys('WebLinkCategory')
|
||||
# end
|
||||
|
||||
before_filter :only => [ :new, :create, :edit, :update ] do |controller|
|
||||
@categories = get_categories_for_form
|
||||
end
|
||||
|
||||
def index
|
||||
@tags = get_tags
|
||||
@categories = get_categories_for_index
|
||||
@statuses = get_statuses
|
||||
category_ids = @categories.collect{|t| t.id}
|
||||
|
||||
get_categorys("WebLinkCategory",params[:web_link_category_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
|
||||
@web_link_categories = get_categories_for_index("WebLinkCategory")
|
||||
@web_link_category_ids = @web_link_categories.collect{|t| t.id.to_s} + [nil]
|
||||
|
||||
# @web_links = WebLink.search(params[:category_id])
|
||||
#@web_links = (params[:sort] || @filter) ? get_sorted_and_filtered_web_links : WebLink.all.page(params[:page]).per(10)
|
||||
@web_links = (params[:sort] || @filter) ? get_sorted_and_filtered("web_link",:web_link_category_id.in => @web_link_category_ids) : get_viewable("web_link",:web_link_category_id.in => @web_link_category_ids)
|
||||
|
||||
@tags = get_tags
|
||||
|
||||
@web_links = get_sorted_and_filtered("web_link", :category_id.in => category_ids)
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
format.js { }
|
||||
format.xml { render :xml => @web_links }
|
||||
format.js
|
||||
end
|
||||
end
|
||||
|
||||
# def index
|
||||
|
||||
# get_categorys("WebLinkCategory",params[:web_link_category_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
|
||||
# @web_link_categories = get_categories_for_index("WebLinkCategory")
|
||||
# @web_link_category_ids = @web_link_categories.collect{|t| t.id.to_s} + [nil]
|
||||
|
||||
# # @web_links = WebLink.search(params[:category_id])
|
||||
# #@web_links = (params[:sort] || @filter) ? get_sorted_and_filtered_web_links : WebLink.all.page(params[:page]).per(10)
|
||||
# @web_links = (params[:sort] || @filter) ? get_sorted_and_filtered("web_link",:web_link_category_id.in => @web_link_category_ids) : get_viewable("web_link",:web_link_category_id.in => @web_link_category_ids)
|
||||
|
||||
# @tags = get_tags
|
||||
|
||||
# respond_to do |format|
|
||||
# format.html # index.html.erb
|
||||
# format.xml { render :xml => @web_links }
|
||||
# format.js
|
||||
# end
|
||||
# end
|
||||
|
||||
# GET /web_links/1
|
||||
# GET /web_links/1.xml
|
||||
def show
|
||||
@@ -58,7 +76,13 @@ class Panel::WebResource::BackEnd::WebLinksController < OrbitBackendController
|
||||
# GET /web_links/new
|
||||
# GET /web_links/new.xml
|
||||
def new
|
||||
@web_link = WebLink.new
|
||||
if(session[:in_validate_object].blank?)
|
||||
@web_link = WebLink.new
|
||||
else
|
||||
@web_link = session[:in_validate_object]
|
||||
session[:in_validate_object] = {}
|
||||
end
|
||||
|
||||
@tags = get_tags
|
||||
|
||||
respond_to do |format|
|
||||
@@ -70,7 +94,11 @@ class Panel::WebResource::BackEnd::WebLinksController < OrbitBackendController
|
||||
# GET /web_links/1/edit
|
||||
def edit
|
||||
@web_link = WebLink.find(params[:id])
|
||||
@tags = get_tags
|
||||
if !current_user.admin?
|
||||
redirect_to :action => :index
|
||||
else
|
||||
@tags = get_tags
|
||||
end
|
||||
end
|
||||
|
||||
# POST /web_links
|
||||
|
||||
+32
-11
@@ -17,24 +17,45 @@ class Panel::WebResource::FrontEnd::WebLinksController < OrbitWidgetController
|
||||
if @item.frontend_data_count
|
||||
@page_num = @item.frontend_data_count
|
||||
else
|
||||
@page_num = 0
|
||||
@page_num = 4
|
||||
end
|
||||
|
||||
date_now = Time.now
|
||||
|
||||
@archive_file_categorys = WebLinkCategory.all
|
||||
|
||||
# @web_link_categorys = get_categories_for_index
|
||||
if !params[:category_id].blank?
|
||||
@web_links = WebLink.all.can_display.any_in(:web_link_category_id => params[:category_id]).merge(WebLinkCategory.excludes('disable' => true)).desc( :is_top, :created_at ).page( params[:page_main] ).per(@page_num)
|
||||
@web_link_categorys = WebLinkCategory.any_in(:_id => params[:category_id]).excludes('disable' => true)
|
||||
elsif !params[:tag_id].blank?
|
||||
@web_links = WebLink.all.can_display.any_in(:tagged_ids => params[:tag_id]).merge(WebLinkCategory.excludes('disable' => true)).desc( :is_top, :created_at ).page( params[:page_main] ).per(@page_num)
|
||||
|
||||
get_categorys
|
||||
@web_link_categorys = @module_app.categories.enabled.any_in(:_id => params[:category_id])
|
||||
else
|
||||
@web_links = WebLink.all.can_display.merge(WebLinkCategory.excludes('disable' => true)).desc( :is_top, :created_at ).page( params[:page_main] ).per(@page_num)
|
||||
@web_link_categorys = @module_app.categories.enabled
|
||||
end
|
||||
|
||||
@web_link_datas = Array.new
|
||||
|
||||
@web_link_categorys.each do |wlcg|
|
||||
|
||||
if !params[:category_id].blank? && !params[:tag_id].blank?
|
||||
@web_links = WebLink.all.can_display.where(:category_id.in => [wlcg.id], :tagged_ids.in => params[:tag_id]).desc( :is_top, :created_at )
|
||||
elsif !params[:category_id].blank?
|
||||
@web_links = WebLink.all.can_display.where(:category_id.in => [wlcg.id]).desc( :is_top, :created_at )
|
||||
elsif !params[:tag_id].blank?
|
||||
@web_links = WebLink.all.can_display.where(:category_id => wlcg.id, :tagged_ids.in => params[:tag_id]).desc( :is_top, :created_at )
|
||||
else
|
||||
@web_links = WebLink.all.can_display.where(:category_id => wlcg.id).desc( :is_top, :created_at )
|
||||
end
|
||||
|
||||
web_link_datas = Array.new
|
||||
|
||||
@web_links.each do |wl|
|
||||
web_link_datas << {
|
||||
"title" => wl.title,
|
||||
"is_hot" => (!wl.is_hot.blank? ? '1' : ''),
|
||||
"context" => wl.context,
|
||||
"url" => wl.url
|
||||
} if !wl.blank?
|
||||
end
|
||||
|
||||
@web_link_datas << { "title" => wlcg.title, "web_links" => web_link_datas } if !@web_links.blank?
|
||||
|
||||
get_categorys
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
+32
-7
@@ -1,4 +1,5 @@
|
||||
class Panel::WebResource::Widget::WebLinksController < OrbitWidgetController
|
||||
|
||||
def initialize
|
||||
super
|
||||
@app_title = 'web_resource'
|
||||
@@ -30,14 +31,38 @@ class Panel::WebResource::Widget::WebLinksController < OrbitWidgetController
|
||||
date_now = Time.now
|
||||
|
||||
if !params[:category_id].blank?
|
||||
@web_links = WebLink.all.can_display.any_in(:web_link_category_id => params[:category_id]).merge(WebLinkCategory.excludes('disable' => true)).desc( :is_top, :created_at ).page( params[:page_main] ).per(@page_num)
|
||||
@web_link_categorys = WebLinkCategory.any_in(:_id => params[:category_id]).excludes('disable' => true)
|
||||
elsif !params[:tag_id].blank?
|
||||
@web_links = WebLink.all.can_display.any_in(:tagged_ids => params[:tag_id]).merge(WebLinkCategory.excludes('disable' => true)).desc( :is_top, :created_at ).page( params[:page_main] ).per(@page_num)
|
||||
get_categorys
|
||||
@web_link_categorys = @module_app.categories.enabled.any_in(:_id => params[:category_id])
|
||||
else
|
||||
@web_links = WebLink.all.can_display.merge(WebLinkCategory.excludes('disable' => true)).desc( :is_top, :created_at ).page( params[:page_main] ).per(@page_num)
|
||||
get_categorys
|
||||
@web_link_categorys = @module_app.categories.enabled
|
||||
end
|
||||
|
||||
@web_link_datas = Array.new
|
||||
|
||||
@web_link_categorys.each do |wlcg|
|
||||
|
||||
if !params[:category_id].blank? && !params[:tag_id].blank?
|
||||
@web_links = WebLink.all.can_display.where(:category_id.in => [wlcg.id], :tagged_ids.in => params[:tag_id]).desc( :is_top, :created_at ).page( params[:page_main] ).per(@page_num)
|
||||
elsif !params[:category_id].blank?
|
||||
@web_links = WebLink.all.can_display.where(:category_id.in => [wlcg.id]).desc( :is_top, :created_at ).page( params[:page_main] ).per(@page_num)
|
||||
elsif !params[:tag_id].blank?
|
||||
@web_links = WebLink.all.can_display.where(:category_id => wlcg.id, :tagged_ids.in => params[:tag_id]).desc( :is_top, :created_at ).page( params[:page_main] ).per(@page_num)
|
||||
else
|
||||
@web_links = WebLink.all.can_display.where(:category_id => wlcg.id).desc( :is_top, :created_at ).page( params[:page_main] ).per(@page_num)
|
||||
end
|
||||
|
||||
web_link_datas = Array.new
|
||||
|
||||
@web_links.each do |wl|
|
||||
web_link_datas << {
|
||||
"title" => wl.title,
|
||||
"is_hot" => (!wl.is_hot.blank? ? '1' : ''),
|
||||
"context" => wl.context,
|
||||
"url" => wl.url
|
||||
} if !wl.blank?
|
||||
end
|
||||
|
||||
@web_link_datas << { "title" => wlcg.title, "web_links" => web_link_datas } if !@web_links.blank?
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
# encoding: utf-8
|
||||
|
||||
class WebLink
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
include Mongoid::MultiParameterAttributes
|
||||
include Sunspot::Mongo
|
||||
|
||||
include OrbitCategory::Categorizable
|
||||
include OrbitModel::LanguageRestrict
|
||||
include OrbitModel::Status
|
||||
include OrbitModel::TimeFrame
|
||||
include OrbitTag::Taggable
|
||||
|
||||
field :title, localize: true
|
||||
@@ -14,9 +16,9 @@ class WebLink
|
||||
|
||||
field :url, localize: true
|
||||
field :create_user_id
|
||||
field :update_user_id
|
||||
field :update_user_id, :class_name => "User"
|
||||
|
||||
belongs_to :web_link_category
|
||||
# belongs_to :web_link_category
|
||||
|
||||
before_save :clean_tags
|
||||
|
||||
|
||||
Vendored
+142
-102
@@ -1,112 +1,152 @@
|
||||
<div id= "poststuff">
|
||||
<% # encoding: utf-8 %>
|
||||
<% 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" %>
|
||||
<% end %>
|
||||
|
||||
<%= f.error_messages %>
|
||||
|
||||
<!--Widget start-->
|
||||
|
||||
<div id="sub-wiget">
|
||||
|
||||
<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>
|
||||
<!-- Input Area -->
|
||||
<div class="input-area">
|
||||
|
||||
<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('nccu.tags') %></h3>
|
||||
<div class="widget-content clear form-horizontal">
|
||||
<% @tags.each do |tag| %>
|
||||
<%= content_tag :label,:class => "checkbox inline" do -%>
|
||||
<%= check_box_tag 'web_link[tag_ids][]', tag.id, @web_link.tag_ids.include?(tag.id)%>
|
||||
<%= tag.name %>
|
||||
<%= hidden_field_tag 'web_link[tag_ids][]', '' %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<!--Wiget End-->
|
||||
<!--Post Start-->
|
||||
<!-- Module Tabs -->
|
||||
<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(@web_link) %>
|
||||
<li>
|
||||
<a href="#status" data-toggle="tab"><%= t(:status) %></a>
|
||||
</li>
|
||||
<% end %>
|
||||
<li>
|
||||
<a href="#tag" data-toggle="tab"><%= t(:tags) %></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div id="post-body">
|
||||
<div id="post-body-content" class="clear">
|
||||
|
||||
<%= f.label :category ,t(:category)%>
|
||||
<%= f.select :web_link_category_id, @web_link_categorys.collect {|t| [ t.title, t.id ]} %>
|
||||
|
||||
<ul class="nav nav-tabs">
|
||||
<% @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| %>
|
||||
|
||||
<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>">
|
||||
<div class="title">
|
||||
<%= f.label :name , t('nccu.link_name') %>
|
||||
<%= f.fields_for :title_translations do |f| %>
|
||||
<%= I18nVariable.from_locale(locale) %>
|
||||
<%= f.text_field locale, :class=>'post-title', :value => (@web_link.title_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</div>
|
||||
<!-- Module -->
|
||||
<div class="tab-content module-area">
|
||||
|
||||
<div class="title">
|
||||
<%= f.label :describe, t(:description) %>
|
||||
<%= f.fields_for :context_translations do |f| %>
|
||||
<%= I18nVariable.from_locale(locale) %>
|
||||
<%= f.text_area locale, :style=>"width:100%", :value => (@web_link.context_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</div>
|
||||
<!-- Basic Module -->
|
||||
<div class="tab-pane fade in active" id="basic">
|
||||
|
||||
<div class="title">
|
||||
<%= f.label :url , t(:url) %>
|
||||
<%= f.fields_for :url_translations do |f| %>
|
||||
<%= I18nVariable.from_locale(locale) %>
|
||||
<%= f.text_field locale, :class=>'post-title', :value => (@web_link.url_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- Category -->
|
||||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t(:category) %></label>
|
||||
<div class="controls">
|
||||
<%= f.select :category_id, @categories.collect{|t| [ t.title, t.id ]} %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!--Post End-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-actions">
|
||||
<%= f.submit t('submit'), :class=>'btn btn-primary' %>
|
||||
<%= link_to t('cancel'), get_go_back, :class=>"btn" %>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Status Module -->
|
||||
<% if show_form_status_field(@web_link) %>
|
||||
<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 @web_link.is_top? %>">
|
||||
<%= f.check_box :is_top %> <%= t(:top) %>
|
||||
</label>
|
||||
<label class="checkbox inline btn <%= 'active' if @web_link.is_hot? %>">
|
||||
<%= f.check_box :is_hot %> <%= t(:hot) %>
|
||||
</label>
|
||||
<label class="checkbox inline btn <%= 'active' if @web_link.is_hidden? %>">
|
||||
<%= f.check_box :is_hidden %> <%= t(:hide) %>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<!-- Tag Module -->
|
||||
<div class="tab-pane fade" id="tag">
|
||||
|
||||
<!-- 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 @web_link.tag_ids.include?(tag.id) %>">
|
||||
<%= check_box_tag 'web_link[tag_ids][]', tag.id, @web_link.tag_ids.include?(tag.id) %> <%= tag.name %>
|
||||
<%= hidden_field_tag 'web_link[tag_ids][]', '' %>
|
||||
</label>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</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: (@web_link.title_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Context-->
|
||||
<div class="control-group input-title">
|
||||
<label class="control-label muted"><%= t(:description) %></label>
|
||||
<div class="controls">
|
||||
<%= f.fields_for :context_translations do |f| %>
|
||||
<%= f.text_area locale, rows: 5, class: "input-block-level", value: (@web_link.context_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Url-->
|
||||
<div class="control-group input-title">
|
||||
<label class="control-label muted"><%= t(:url) %></label>
|
||||
<div class="controls">
|
||||
<%= f.fields_for :url_translations do |f| %>
|
||||
<%= f.text_field locale, class: "input-block-level", placeholder: t(:url), value: (@web_link.url_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Form Actions -->
|
||||
<div class="form-actions">
|
||||
<%= hidden_field_tag 'page', params[:page] if !params[:page].blank? %>
|
||||
<%= f.submit t('submit'), class: 'btn btn-primary' %>
|
||||
<%= link_to t('cancel'), get_go_back, :class=>"btn" %>
|
||||
</div>
|
||||
Vendored
+5
-5
@@ -1,5 +1,5 @@
|
||||
<h1><%= t('web_link.editing_web_resource') %></h1>
|
||||
|
||||
<%= form_for @web_link, :url => panel_web_resource_back_end_web_link_path(@web_link), :html => {:class => 'clear'} do |f| %>
|
||||
<%= render :partial => 'form', :locals => {:f => f} %>
|
||||
<% end %>
|
||||
<%= form_for @web_link, url: panel_web_resource_back_end_web_link_path(@web_link), html: {class: "form-horizontal main-forms previewable"} do |f| %>
|
||||
<fieldset>
|
||||
<%= render partial: 'form', locals: {f: f} %>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
Vendored
+48
-21
@@ -1,22 +1,49 @@
|
||||
<%= render 'filter' %>
|
||||
<table class="table main-list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="span1"></th>
|
||||
<th class="span1"></th>
|
||||
<th class="span2"></th>
|
||||
<th class="span3"></th>
|
||||
<th class="span2"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tbody_web_links" class="sort-holder">
|
||||
<%= render :partial => 'web_link', :collection => @web_links %>
|
||||
</tbody>
|
||||
</table>
|
||||
<% set_default_index do
|
||||
objects @web_links
|
||||
filterable
|
||||
sortable
|
||||
quick_edit_link type: 'edit',
|
||||
link: 'edit_panel_web_resource_back_end_web_link_path'
|
||||
quick_edit_link type: 'detail'
|
||||
quick_edit_link type: 'delete',
|
||||
link: 'panel_web_resource_back_end_web_link_path'
|
||||
field type: 'status',
|
||||
db_field: @statuses,
|
||||
translation: 'status',
|
||||
hide: 'phone',
|
||||
sort: 'status',
|
||||
header_class: 'span2'
|
||||
field type: 'associated',
|
||||
associated_value: 'title',
|
||||
db_field: 'category',
|
||||
translation: 'category',
|
||||
hide: 'phone',
|
||||
sort: 'category',
|
||||
header_class: 'span2'
|
||||
field type: 'field',
|
||||
db_field: 'title',
|
||||
translation: 'title',
|
||||
sort: 'title',
|
||||
link: 'panel_web_resource_front_end_web_link_path',
|
||||
quick_edit: true,
|
||||
header_class: 'span5'
|
||||
field type: 'tags',
|
||||
db_field: 'tags',
|
||||
translation: 'tags',
|
||||
hide: 'all',
|
||||
sort: 'tags'
|
||||
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_web_resource_back_end_web_link_path'
|
||||
end %>
|
||||
|
||||
<div class="form-actions form-fixed pagination-right">
|
||||
<%= link_to content_tag(:i, nil, :class => 'icon-plus icon-white') + t(:add), new_panel_web_resource_back_end_web_link_path, :class => 'btn btn-primary pull-right' if (is_manager? rescue nil) %>
|
||||
<div id="web_link_pagination" class="paginationFixed">
|
||||
<%= paginate @web_links, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %>
|
||||
</div>
|
||||
</div>
|
||||
<%= render 'admin/default_index/index' %>
|
||||
Vendored
+4
-9
@@ -1,10 +1,5 @@
|
||||
|
||||
<%= flash_messages %>
|
||||
<div id="poststuff">
|
||||
<h1><%= t('web_link.new_web_resource') %></h1>
|
||||
<%= form_for @web_link, :url => panel_web_resource_back_end_web_links_path, :html => {:class => 'clear'} do |f| %>
|
||||
<%= render :partial => 'form', :locals => {:f => f} %>
|
||||
<%= form_for @web_link, url: panel_web_resource_back_end_web_links_path, html: {class: "form-horizontal main-forms previewable"} do |f| %>
|
||||
<fieldset>
|
||||
<%= render partial: 'form', locals: {f: f} %>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
</div>
|
||||
<%#= link_back %>
|
||||
|
||||
vendor/built_in_modules/web_resource/app/views/panel/web_resource/front_end/web_links/index.html.erb
Vendored
+8
-8
@@ -4,17 +4,18 @@
|
||||
<div class="o-links-content">
|
||||
<ul>
|
||||
|
||||
<% @web_link_categorys.each do |wlcg| %>
|
||||
<% if wlcg.web_links.count > 0 %>
|
||||
<% @web_link_datas.each do |wlcg| %>
|
||||
|
||||
<li>
|
||||
<h3 class="o-links-category"><%= wlcg.title rescue nil%></h3>
|
||||
<h3 class="o-links-category"><%= wlcg["title"] rescue nil%></h3>
|
||||
<div class="o-links-list">
|
||||
<ul>
|
||||
|
||||
<% wlcg.web_links.can_display.desc( :is_top, :created_at ).page( params[:page_main] ).per(@page_num).each do |post| %>
|
||||
<% wlcg["web_links"].each do |post| %>
|
||||
<li>
|
||||
<%= link_to post.title, post.url, {:target => '_blank', :title => post.title, :class=>"o-links-title"} %>
|
||||
<div class="o-links-description"><%= post.context %></div>
|
||||
<%= link_to post["title"], post["url"], {:target => '_blank', :title => post["title"], :class=>"o-links-title"} %>
|
||||
<% if !post["is_hot"].blank? %><span class="o-links-hot"><%= t('hot')%></span><% end %>
|
||||
<div class="o-links-description"><%= post["context"] %></div>
|
||||
</li>
|
||||
<% end %>
|
||||
|
||||
@@ -23,12 +24,11 @@
|
||||
</li>
|
||||
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%= paginate @web_links, :param_name => :page_main, :params => {:inner => false}%>
|
||||
<%#= paginate @web_links, :param_name => :page_main, :params => {:inner => false}%>
|
||||
|
||||
<%= stylesheet_link_tag "web_resource/links" %>
|
||||
Vendored
+7
-7
@@ -2,17 +2,18 @@
|
||||
<div class="o-links-content">
|
||||
<ul>
|
||||
|
||||
<% @web_link_categorys.each do |wlcg| %>
|
||||
<% if wlcg.web_links.count > 0 %>
|
||||
<% @web_link_datas.each do |wlcg| %>
|
||||
|
||||
<li>
|
||||
<h3 class="o-links-category"><%= wlcg.title rescue nil%></h3>
|
||||
<h3 class="o-links-category"><%= wlcg["title"] rescue nil%></h3>
|
||||
<div class="o-links-list">
|
||||
<ul>
|
||||
|
||||
<% wlcg.web_links.can_display.desc( :is_top, :created_at ).page( params[:page_main] ).per(@page_num).each do |post| %>
|
||||
<% wlcg["web_links"].each do |post| %>
|
||||
<li>
|
||||
<%= link_to post.title, post.url, {:target => '_blank', :title => post.title, :class=>"o-links-title"} %>
|
||||
<div class="o-links-description"><%= post.context %></div>
|
||||
<%= link_to post["title"], post["url"], {:target => '_blank', :title => post["title"], :class=>"o-links-title"} %>
|
||||
<% if !post["is_hot"].blank? %><span class="o-links-hot"><%= t('hot')%></span><% end %>
|
||||
<div class="o-links-description"><%= post["context"] %></div>
|
||||
</li>
|
||||
<% end %>
|
||||
|
||||
@@ -21,7 +22,6 @@
|
||||
</li>
|
||||
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
+4
-12
@@ -16,9 +16,8 @@ module WebResource
|
||||
end
|
||||
end
|
||||
|
||||
taggable
|
||||
|
||||
authorizable
|
||||
categorizable
|
||||
taggable
|
||||
|
||||
widgets do
|
||||
@@ -38,7 +37,7 @@ module WebResource
|
||||
side_bar do
|
||||
head_label_i18n 'link',:icon_class=>"icons-link"
|
||||
available_for [:admin,:guest,:manager,:sub_manager]
|
||||
active_for_controllers ({:private=>['web_links', 'web_link_categorys']})
|
||||
active_for_controllers ({:private=>['web_links', 'web_link_categorys','module_tags', 'categories']})
|
||||
active_for_object_auth ['WebLinkCategory']
|
||||
|
||||
head_link_path "panel_web_resource_back_end_web_links_path"
|
||||
@@ -54,11 +53,10 @@ module WebResource
|
||||
:priority=>2,
|
||||
:active_for_action=>{:web_links=>:new},
|
||||
:available_for => [:sub_manager]
|
||||
|
||||
context_link 'categories',
|
||||
:link_path=>"panel_web_resource_back_end_web_link_categorys_path" ,
|
||||
:link_path=>"admin_module_app_categories_path(get_module_app)" ,
|
||||
:priority=>3,
|
||||
:active_for_action=>{:web_link_categorys=>:index},
|
||||
:active_for_category => 'WebResource',
|
||||
:available_for => [:manager]
|
||||
|
||||
context_link 'tags',
|
||||
@@ -66,12 +64,6 @@ module WebResource
|
||||
:priority=>4,
|
||||
:active_for_tag => 'WebResource',
|
||||
:available_for => [:manager]
|
||||
|
||||
context_link 'module_authorization',
|
||||
:link_path=>"admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {title: 'WebResource'}))",
|
||||
:priority=>6,
|
||||
:active_for_app_auth => 'web_resource',
|
||||
:available_for => [:admin]
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in new issue
Block a user