diff --git a/app/assets/javascripts/jquery.mu.image.resize.degsin.js b/app/assets/javascripts/jquery.mu.image.resize.degsin.js
new file mode 100644
index 00000000..9c87bf78
--- /dev/null
+++ b/app/assets/javascripts/jquery.mu.image.resize.degsin.js
@@ -0,0 +1,6 @@
+ var pic = $(".app-pic").length,w,h;
+ for(i=0; i ';
+ });
+ }
+
+ if (!$.browser.msie)
+ {
+ // Get original size for calcutation.
+ ow = this.width;
+ oh = this.height;
+ }
+
+ // if cannot get width or height.
+ if (0==ow || 0==oh){
+ $(this).width(_set.width);
+ $(this).height(_set.height);
+ }else{
+
+ // Merge position settings
+ var sh_margin_type='';
+
+ // if original image's width > height.
+ if (ow > oh) {
+ p = oh / _set.height;
+ oh = _set.height;
+ ow = ow / p;
+
+ // original image width smaller than settings.
+ if (ow < _set.width){
+ // need to resize again,
+ // because new image size range must can cover settings' range, than we can crop it correctly.
+ p = ow / _set.width;
+ ow = _set.width;
+ oh = oh / p;
+
+ // the crop range would be in the center of new image size.
+ sh = (oh-_set.height)/2;
+ t=sh+'px';
+ r=_set.width+'px';
+ b=(_set.height+sh)+'px';
+ l='0px';
+
+ // need to be adjust top position latter.
+ sh_margin_type = 'margin-top';
+
+ // original image width bigger than settings.
+ }else{
+ // new image range can cover settings' range.
+ sh = (ow-_set.width)/2;
+ t='0px';
+ r=(_set.width+sh)+'px';
+ b=_set.height+'px';
+ l=sh+'px';
+ // need to be adjust left position latter.
+ sh_margin_type = 'margin-left';
+ }
+ // ref above, change width to height then do same things.
+ }else{
+ p = ow / _set.width;
+ ow = _set.width;
+ oh = oh / p;
+
+ if (oh < _set.height) {
+ p = oh / _set.height;
+ oh = _set.height;
+ ow = ow / p;
+
+ sh = (ow-_set.width)/2;
+ t='0px';
+ r=(_set.width+sh)+'px';
+ b=_set.height+'px';
+ l=sh+'px';
+ sh_margin_type = 'margin-left';
+ }else{
+ sh = (oh-_set.height)/2;
+ t=sh+'px';
+ r=_set.width+'px';
+ b=(_set.height+sh)+'px';
+ l='0px';
+ sh_margin_type = 'margin-top';
+ }
+ }
+
+ // Resize img.
+ $(this).width(ow);
+ $(this).height(oh);
+
+ // Crop img by set clip style.
+ $(this).css('clip','rect('+t+' '+r+' '+b+' '+l+')');
+
+ var osh = 0;
+ if('auto' != $(this).css(sh_margin_type)){
+ osh = parseInt($(this).css(sh_margin_type));
+ }
+
+ if (0 < sh) {sh*=-1;}
+ sh += osh;
+
+ $(this).css(sh_margin_type, sh+'px');
+ $(this).css('position','absolute');
+ }
+ $(this).fadeIn('slow');
+ })
+ .one( "error", function() {
+ //$(this).hide();
+ })
+ .each(function() {
+ $(this).hide();
+ // Trigger load event (for Gecko and MSIE)
+ if ( this.complete || $.browser.msie ) {
+ $( this ).trigger( "load" ).trigger( "error" );
+ }
+ });
+ };
+
+})( jQuery );
\ No newline at end of file
diff --git a/app/assets/javascripts/page_edit.js.erb b/app/assets/javascripts/page_edit.js.erb
index d7aaccd0..8d2ca97c 100644
--- a/app/assets/javascripts/page_edit.js.erb
+++ b/app/assets/javascripts/page_edit.js.erb
@@ -24,6 +24,10 @@ $("#module_app_list select").live('change', function() {
$.getScript($(this).attr('rel') + '/' + $(this).val() + '/reload_widgets');
});
+$("#widget_list select").live('change', function() {
+ $.getScript($(this).attr('rel') + '/' + $(this).val() + '/reload_widget_styles?module_app_id=' + $("#module_app_list select").val());
+});
+
$("#tag_list select").live('change', function() {
$.getScript($(this).attr('rel') + '/' + $(this).val() + '/reload_r_tag_options');
});
diff --git a/app/controllers/admin/page_parts_controller.rb b/app/controllers/admin/page_parts_controller.rb
index 9ef2aa1b..d75b54aa 100644
--- a/app/controllers/admin/page_parts_controller.rb
+++ b/app/controllers/admin/page_parts_controller.rb
@@ -26,6 +26,10 @@ class Admin::PagePartsController < ApplicationController
@module_app = @part.module_app ? @part.module_app : @module_apps[0]
@r_tag = @part.public_r_tag.blank? ? LIST[:public_r_tags][0] : @part.public_r_tag
@tag_objects = @r_tag.classify.constantize.all rescue nil
+
+ @widget_path = @part.widget_path ? @part.widget_path : @module_app.widgets.keys[0]
+ @widget_style = @module_app.widgets[@widget_path]
+
case @module_app.key
when 'announcement'
@categories = BulletinCategory.all
@@ -69,8 +73,12 @@ class Admin::PagePartsController < ApplicationController
def reload_widgets
@module_app = ModuleApp.find(params[:id])
+
+ @widget_path = @module_app.widgets.keys[0]
+ @widget_style = @module_app.widgets[@widget_path]
case @module_app.key
when 'announcement'
+ # @widget_style = @module_app.widgets['index']
@categories = BulletinCategory.all
@tags = AnnouncementTag.all
when 'news'
@@ -84,6 +92,16 @@ class Admin::PagePartsController < ApplicationController
format.js {}
end
end
+
+ def reload_widget_styles
+ @module_app = ModuleApp.find(params[:module_app_id])
+
+ @widget_style = @module_app.widgets[params[:id]]
+
+ respond_to do |format|
+ format.js {}
+ end
+ end
def reload_r_tag_options
@r_tag = (ModuleApp.find(params[:id]) rescue nil) || params[:id]
diff --git a/app/models/module_app.rb b/app/models/module_app.rb
index 315bc93e..007467de 100644
--- a/app/models/module_app.rb
+++ b/app/models/module_app.rb
@@ -16,6 +16,7 @@ class ModuleApp
field :app_pages ,type: Array
# field :widgets ,type: Array
field :widgets ,type: Hash
+ field :widget_fields ,type: Array
has_many :managers,as: :managing_app ,:class_name => "AppManager" #,:dependent => :destroy,:foreign_key => "managing_app_id",:inverse_of => :managing_app
has_many :sub_managers,as: :sub_managing_app ,:class_name => "AppManager"#, :dependent => :destroy,:foreign_key => "sub_managing_app_id",:inverse_of => :sub_managing_app
diff --git a/app/models/page_part.rb b/app/models/page_part.rb
index 1cb095b2..4d75dbbf 100644
--- a/app/models/page_part.rb
+++ b/app/models/page_part.rb
@@ -11,6 +11,7 @@ class PagePart
field :public_r_tag_option, :default => nil
field :widget_path
field :widget_style
+ field :widget_field , :type => Array
field :widget_data_count
has_one :i18n_variable, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy
diff --git a/app/models/site.rb b/app/models/site.rb
index 55d6bfaf..0baa743f 100644
--- a/app/models/site.rb
+++ b/app/models/site.rb
@@ -17,6 +17,8 @@ class Site
field :school
field :department
+
+ mount_uploader :default_image, ImageUploader
has_one :title, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy
has_one :footer, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy
diff --git a/app/uploaders/image_uploader.rb b/app/uploaders/image_uploader.rb
index 29a4d92b..ed142405 100644
--- a/app/uploaders/image_uploader.rb
+++ b/app/uploaders/image_uploader.rb
@@ -30,7 +30,10 @@ class ImageUploader < CarrierWave::Uploader::Base
# def default_url
# "/images/fallback/" + [version_name, "default.png"].compact.join('_')
# end
-
+ def default_url
+ Site.first.default_image.url rescue "-sign-in-logo.png"
+ end
+
# Process files as they are uploaded:
# process :scale => [200, 300]
#
diff --git a/app/views/admin/page_parts/_module_widget.html.erb b/app/views/admin/page_parts/_module_widget.html.erb
index 87439e3f..279ba62e 100644
--- a/app/views/admin/page_parts/_module_widget.html.erb
+++ b/app/views/admin/page_parts/_module_widget.html.erb
@@ -14,13 +14,13 @@
- <%= f.select :widget_path, @module_app.widgets.collect{|widget| [widget.humanize, widget]}, :selected => @part.widget_path %>
- <%#= f.select :widget_path, @module_app.widgets.collect{|k,v| k}, :selected => @part.widget_path %>
+ <%#= f.select :widget_path, @module_app.widgets.collect{|widget| [widget.humanize, widget]}, :selected => @part.widget_path %>
+ <%= f.select :widget_path, @module_app.widgets.collect{|k,v| [k.humanize, k]}, {}, { :selected => @part.widget_path, :rel => admin_page_parts_path } %>
-<%= @module_app.widget_indexs.collect { |k,v| v } %>
- <%= f.select :widget_style, @module_app.widget_styles.each, :selected => @part.widget_style, :include_blank => 'None' %>
+ <%= f.select :widget_style, @widget_style, :selected => @part.widget_style %>
+ <%#= render 'widget_styles' %>
:
@@ -33,6 +33,19 @@
<%= render 'widget_tags' %>
+
+
+ <%= f.label :widget_field %>
+
+ <% @module_app.widget_fields.each_with_index do |widget_field, i| %>
+ <%= i+1 %>
+ <%= select_tag "page_part[widget_field][]", options_for_select(@module_app.widget_fields.collect{|widget_field| [widget_field.humanize, widget_field]}, (@part.widget_field ? @part.widget_field[i] : nil) ), :include_blank => true %>
+
+ <% end %>
+
+ <%#= select_tag "page_part[widget_field][]", options_for_select(@module_app.widget_fields.collect{|widget_field| [widget_field.humanize, widget_field]}, @part.widget_field.collect{|widget_field| widget_field}), {:multiple => :multiple, :size => 6} %>
+
+
<%= f.label :widget_data_count %>
<%= f.text_field :widget_data_count %>
diff --git a/app/views/admin/page_parts/_widget_styles.html.erb b/app/views/admin/page_parts/_widget_styles.html.erb
new file mode 100644
index 00000000..1f9ef84f
--- /dev/null
+++ b/app/views/admin/page_parts/_widget_styles.html.erb
@@ -0,0 +1 @@
+ <%= select 'page_part', 'widget_style', @widget_style, :selected => (@part ? @part[:widget_style] : nil), :include_blank => true if @widget_style && @widget_style.size > 0 %>
\ No newline at end of file
diff --git a/app/views/admin/page_parts/reload_widget_styles.js.erb b/app/views/admin/page_parts/reload_widget_styles.js.erb
new file mode 100644
index 00000000..41b2ad9c
--- /dev/null
+++ b/app/views/admin/page_parts/reload_widget_styles.js.erb
@@ -0,0 +1 @@
+$('#widget_style_list select').html("<%= j options_for_select(@module_app.widgets[params[:id]]) %>")
diff --git a/app/views/admin/page_parts/reload_widgets.js.erb b/app/views/admin/page_parts/reload_widgets.js.erb
index 87e00ef1..8dca2040 100644
--- a/app/views/admin/page_parts/reload_widgets.js.erb
+++ b/app/views/admin/page_parts/reload_widgets.js.erb
@@ -1,3 +1,4 @@
$('#widget_list select').html("<%= j options_for_select(@module_app.widgets.collect{|k,v| k}) %>")
+$('#widget_style_list select').html("<%= j options_for_select(@module_app.widgets[@widget_path]) %>")
$('#widget_category').html("<%= j render 'widget_categories' %>")
$('#widget_tag').html("<%= j render 'widget_tags' %>")
\ No newline at end of file
diff --git a/app/views/admin/sites/site_info.html.erb b/app/views/admin/sites/site_info.html.erb
index e19307ca..1dccac31 100644
--- a/app/views/admin/sites/site_info.html.erb
+++ b/app/views/admin/sites/site_info.html.erb
@@ -1,3 +1,5 @@
+<% # encoding: utf-8 %>
+
<% content_for :side_bar do %>
<%= render 'side_bar' %>
<% end %>
@@ -70,6 +72,24 @@
<% end %>
+
+
<%= t 'admin.default_image' %>
+
+ <%= f.file_field :default_image, :id => "input-upload", :class => 'upload', :onchange => "document.getElementById('fu').innerHTML = this.form.fu.value = this.value;" %>
+
+
+ <% if @site.default_image %>
+ <%= image_tag( @site.default_image, :size=>"120x120") rescue ''%>
+ <% else %>
+
+ <% end %>
+
+ <% if @site.default_image.file %>
+ <%= f.check_box :remove_default_image %>
+ <%= t('刪除已上傳檔案') %>
+ <% end %>
+
+
<% end %>
<% end %>
diff --git a/config/routes.rb b/config/routes.rb
index 60e8a205..570ab68a 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -97,6 +97,7 @@ Orbit::Application.routes.draw do
resources :page_parts do
member do
get 'reload_widgets'
+ get 'reload_widget_styles'
get 'reload_r_tag_options'
end
end
diff --git a/lib/parsers/parser_common.rb b/lib/parsers/parser_common.rb
index 06c937de..18140aa1 100644
--- a/lib/parsers/parser_common.rb
+++ b/lib/parsers/parser_common.rb
@@ -187,7 +187,7 @@ module ParserCommon
ret << part.i18n_variable[I18n.locale] rescue ''
when 'module_widget'
url = "/panel/#{part.module_app.key}/widget/#{part.widget_path}?inner=true"
- options = "&category_id=#{!part[:category].blank? ? part[:category].blank? : category}&tag_id=#{!part[:tag].blank? ? part[:tag] : tag}&page=#{params[:page]}&part_title=#{Rack::Utils.escape(part_title).gsub("+", "%20") rescue nil}&widget_style=#{part.widget_style}&widget_data_count=#{part[:widget_data_count]}"
+ options = "&category_id=#{!part[:category].blank? ? part[:category] : category}&tag_id=#{!part[:tag].blank? ? part[:tag] : tag}&page=#{params[:page]}&part_title=#{Rack::Utils.escape(part_title).gsub("+", "%20") rescue nil}&part_id=#{part.id}"
ret << "
"
when 'public_r_tag'
ret << " "
diff --git a/vendor/built_in_modules/announcement/announcement.json b/vendor/built_in_modules/announcement/announcement.json
index 83e0fb51..a9f245f2 100644
--- a/vendor/built_in_modules/announcement/announcement.json
+++ b/vendor/built_in_modules/announcement/announcement.json
@@ -8,8 +8,9 @@
"create_date": "11-11-2011",
"app_pages": ["bulletins"],
"widgets": {
- "index":["1","2","3","4","5","6","7","8","9",,"10","11","12","13","14","15","16","17","18","19"],
+ "index":["1","2"],
"bulletins_and_web_links":[]
},
+ "widget_fields":["title","subtitle","date","image","status"],
"enable_frontend": true
}
diff --git a/vendor/built_in_modules/announcement/app/controllers/panel/announcement/widget/bulletins_controller.rb b/vendor/built_in_modules/announcement/app/controllers/panel/announcement/widget/bulletins_controller.rb
index fcdd7559..8d38802a 100644
--- a/vendor/built_in_modules/announcement/app/controllers/panel/announcement/widget/bulletins_controller.rb
+++ b/vendor/built_in_modules/announcement/app/controllers/panel/announcement/widget/bulletins_controller.rb
@@ -10,220 +10,30 @@ class Panel::Announcement::Widget::BulletinsController < OrbitWidgetController
def index
- if params[:widget_data_count]
- @page_num = params[:widget_data_count];
+ @part = PagePart.find(params[:part_id])
+
+ if @part.widget_data_count
+ @page_num = @part.widget_data_count
else
- @page_num = 4;
+ @page_num = 4
+ end
+
+ if @part.widget_field
+ @widget_fields = @part.widget_field
+ else
+ @widget_fields = []
end
@title = params[:part_title]
- @widget_style = params[:widget_style]
+ @widget_style = @part.widget_style
+
+ @category_id = @part.category
date_now = Time.now
- if !params[:category_id].blank?
- @bulletins = Bulletin.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(5)
- @current_category = BulletinCategory.from_id(params[:category_id]) rescue nil
- elsif !params[:tag_id].blank?
- @tag = AnnouncementTag.find(params[:tag_id]) rescue nil
- @tag = AnnouncementTag.where(key: params[:tag_id])[0] unless @tag
- @bulletins = @tag.bulletins.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)
- else
- @bulletins = Bulletin.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
-
- end
-
- def bulletins_list_2
-
- if params[:widget_data_count]
- @page_num = params[:widget_data_count];
- else
- @page_num = 4;
- end
-
- @title = params[:part_title]
- date_now = Time.now
- if !params[:category_id].blank?
- @bulletins = Bulletin.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(5)
- @current_category = BulletinCategory.from_id(params[:category_id]) rescue nil
- elsif !params[:tag_id].blank?
- @tag = AnnouncementTag.find(params[:tag_id]) rescue nil
- @tag = AnnouncementTag.where(key: params[:tag_id])[0] unless @tag
- @bulletins = @tag.bulletins.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)
- else
- @bulletins = Bulletin.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
-
- end
-
- def bulletins_list_3
-
- if params[:widget_data_count]
- @page_num = params[:widget_data_count];
- else
- @page_num = 4;
- end
-
- @title = params[:part_title]
- date_now = Time.now
- if !params[:category_id].blank?
- @bulletins = Bulletin.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(5)
- @current_category = BulletinCategory.from_id(params[:category_id]) rescue nil
- elsif !params[:tag_id].blank?
- @tag = AnnouncementTag.find(params[:tag_id]) rescue nil
- @tag = AnnouncementTag.where(key: params[:tag_id])[0] unless @tag
- @bulletins = @tag.bulletins.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)
- else
- @bulletins = Bulletin.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
-
- end
-
- def bulletins_list_4
-
- if params[:widget_data_count]
- @page_num = params[:widget_data_count];
- else
- @page_num = 4;
- end
-
- @title = params[:part_title]
- date_now = Time.now
- if !params[:category_id].blank?
- @bulletins = Bulletin.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(5)
- @current_category = BulletinCategory.from_id(params[:category_id]) rescue nil
- elsif !params[:tag_id].blank?
- @tag = AnnouncementTag.find(params[:tag_id]) rescue nil
- @tag = AnnouncementTag.where(key: params[:tag_id])[0] unless @tag
- @bulletins = @tag.bulletins.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)
- else
- @bulletins = Bulletin.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
-
- end
-
- def bulletins_list_5
-
- if params[:widget_data_count]
- @page_num = params[:widget_data_count];
- else
- @page_num = 4;
- end
-
- @title = params[:part_title]
- date_now = Time.now
- if !params[:category_id].blank?
- @bulletins = Bulletin.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(5)
- @current_category = BulletinCategory.from_id(params[:category_id]) rescue nil
- elsif !params[:tag_id].blank?
- @tag = AnnouncementTag.find(params[:tag_id]) rescue nil
- @tag = AnnouncementTag.where(key: params[:tag_id])[0] unless @tag
- @bulletins = @tag.bulletins.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)
- else
- @bulletins = Bulletin.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
-
- end
-
- def bulletins_list_6
-
- if params[:widget_data_count]
- @page_num = params[:widget_data_count];
- else
- @page_num = 4;
- end
-
- @title = params[:part_title]
- date_now = Time.now
- if !params[:category_id].blank?
- @bulletins = Bulletin.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(5)
- @current_category = BulletinCategory.from_id(params[:category_id]) rescue nil
- elsif !params[:tag_id].blank?
- @tag = AnnouncementTag.find(params[:tag_id]) rescue nil
- @tag = AnnouncementTag.where(key: params[:tag_id])[0] unless @tag
- @bulletins = @tag.bulletins.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)
- else
- @bulletins = Bulletin.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
-
- end
-
- def bulletins_list_7
-
- if params[:widget_data_count]
- @page_num = params[:widget_data_count];
- else
- @page_num = 4;
- end
-
- @title = params[:part_title]
- date_now = Time.now
- if !params[:category_id].blank?
- @bulletins = Bulletin.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(5)
- @current_category = BulletinCategory.from_id(params[:category_id]) rescue nil
- elsif !params[:tag_id].blank?
- @tag = AnnouncementTag.find(params[:tag_id]) rescue nil
- @tag = AnnouncementTag.where(key: params[:tag_id])[0] unless @tag
- @bulletins = @tag.bulletins.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)
- else
- @bulletins = Bulletin.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
-
- end
-
- def bulletins_list_8
-
- if params[:widget_data_count]
- @page_num = params[:widget_data_count];
- else
- @page_num = 4;
- end
-
- @title = params[:part_title]
- date_now = Time.now
- if !params[:category_id].blank?
- @bulletins = Bulletin.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(5)
- @current_category = BulletinCategory.from_id(params[:category_id]) rescue nil
- elsif !params[:tag_id].blank?
- @tag = AnnouncementTag.find(params[:tag_id]) rescue nil
- @tag = AnnouncementTag.where(key: params[:tag_id])[0] unless @tag
- @bulletins = @tag.bulletins.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)
- else
- @bulletins = Bulletin.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
-
- end
-
- def bulletins_list_9
-
- if params[:widget_data_count]
- @page_num = params[:widget_data_count];
- else
- @page_num = 4;
- end
-
- @title = params[:part_title]
- date_now = Time.now
- if !params[:category_id].blank?
- @bulletins = Bulletin.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(5)
- @current_category = BulletinCategory.from_id(params[:category_id]) rescue nil
+ if !@category_id.blank?
+ @bulletins = Bulletin.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)
+ @current_category = BulletinCategory.from_id(@category_id) rescue nil
elsif !params[:tag_id].blank?
@tag = AnnouncementTag.find(params[:tag_id]) rescue nil
@tag = AnnouncementTag.where(key: params[:tag_id])[0] unless @tag
diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/_index.html.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/_index.html.erb
index 77a8fa37..f6767b1b 100644
--- a/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/_index.html.erb
+++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/_index.html.erb
@@ -5,403 +5,88 @@
<% if @widget_style == '1' %>
- ========== 1狀態(置頂 熱門等) 日期 標題 ==========
+ ========== 1 ==========
-
more
+
+ <% if !@category_id.blank? %>
+
<%= link_to t('more'), panel_announcement_front_end_bulletins_path( :category_id => @category_id ) %>
+ <% else %>
+
<%= link_to t('more'), panel_announcement_front_end_bulletins_path() %>
+ <% end %>
<% elsif @widget_style == '2' %>
- ========== 2日期 標題 ==========
+ ========== 2 ==========
+
+
+
<%= image_tag(@bulletins.first.image.url) %>
+
+
+ <% @bulletins.each_with_index do |post, i| %>
+
+ >
+ <% @widget_fields.each do |wf| %>
+
+ <% if wf == 'title' %>
+ <%= link_to post.title[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.bulletin_category_id), :class=>"newstitle" %>
+ <% elsif wf == 'date' %>
+ <%= display_date(post.postdate) %>
+ <% elsif wf == 'status' %>
+ <% if post.is_top? %>
+ <%= t(:top) %>
+ <% end %>
+ <% if post.is_hot? %>
+ <%= t(:hot) %>
+ <% end %>
+ <% elsif wf == 'subtitle' %>
+ <%= post.subtitle[I18n.locale].html_safe %>
+ <% end %>
+
+ <% end %>
+
+
+ <% end %>
+
-
-
- <% @bulletins.each do |post| %>
-
-
- <%= display_date(post.postdate) %>
- <%= link_to post.title[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.bulletin_category_id), :class=>"newstitle" %>
-
-
- <% end %>
-
-
more
-
-
-<% elsif @widget_style == '3' %>
-
-
========== 3狀態(置頂 熱門等) 標題 ==========
+ <% if !@category_id.blank? %>
+
<%= link_to t('more'), panel_announcement_front_end_bulletins_path( :category_id => @category_id ) %>
+ <% else %>
+
<%= link_to t('more'), panel_announcement_front_end_bulletins_path() %>
+ <% end %>
-
-
- <% @bulletins.each do |post| %>
-
-
- <% if post.is_top? %>
- <%= t(:top) %>
- <% end %>
- <% if post.is_hot? %>
- <%= t(:hot) %>
- <% end %>
- <%= link_to post.title[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.bulletin_category_id), :class=>"newstitle" %>
-
-
- <% end %>
-
-
more
-
-
-<% elsif @widget_style == '4' %>
-
-
========== 4狀態(置頂 熱門等) 類別 日期 標題 ==========
-
-
-
- <% @bulletins.each do |post| %>
-
-
- <% if post.is_top? %>
- <%= t(:top) %>
- <% end %>
- <% if post.is_hot? %>
- <%= t(:hot) %>
- <% end %>
- <%= display_date(post.postdate) %>
- <%= post.bulletin_category.i18n_variable[I18n.locale] rescue nil %>
- <%= link_to post.title[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.bulletin_category_id), :class=>"newstitle" %>
-
-
- <% end %>
-
-
more
-
-<% elsif @widget_style == '5' %>
-
-
========== 5日期 類別 標題 ==========
-
-
-
- <% @bulletins.each do |post| %>
-
-
- <%= display_date(post.postdate) %>
- <%= post.bulletin_category.i18n_variable[I18n.locale] rescue nil %>
- <%= link_to post.title[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.bulletin_category_id), :class=>"newstitle" %>
-
-
- <% end %>
-
-
more
-
-
-<% elsif @widget_style == '6' %>
-
-
========== 6狀態(置頂 熱門等) 類別 標題 ==========
-
-
-
- <% @bulletins.each do |post| %>
-
-
- <% if post.is_top? %>
- <%= t(:top) %>
- <% end %>
- <% if post.is_hot? %>
- <%= t(:hot) %>
- <% end %>
- <%= post.bulletin_category.i18n_variable[I18n.locale] rescue nil %>
- <%= link_to post.title[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.bulletin_category_id), :class=>"newstitle" %>
-
-
- <% end %>
-
-
more
-
-
-<% elsif @widget_style == '7' %>
-
-
========== 7上架日期 標題 契子 ==========
-
-
-
- <% @bulletins.each do |post| %>
-
-
- <%= display_date(post.postdate) %>
- <%= link_to post.title[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.bulletin_category_id), :class=>"newstitle" %>
- <%= post.subtitle[I18n.locale].html_safe %>
-
-
- <% end %>
-
-
more
-
-
-<% elsif @widget_style == '8' %>
-
-
========== 8上架日期 標題 契子 狀態 ==========
-
-
-
- <% @bulletins.each do |post| %>
-
-
- <% if post.is_top? %>
- <%= t(:top) %>
- <% end %>
- <% if post.is_hot? %>
- <%= t(:hot) %>
- <% end %>
- <%= display_date(post.postdate) %>
- <%= link_to post.title[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.bulletin_category_id), :class=>"newstitle" %>
- <%= post.subtitle[I18n.locale].html_safe %>
-
-
- <% end %>
-
-
more
-
-
-<% elsif @widget_style == '9' %>
-
-
========== 9上架日期 標題 瀏覽人次 ==========
-
-
-
- <% @bulletins.each do |post| %>
-
-
- <%= display_date(post.postdate) %>
- <%= link_to post.title[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.bulletin_category_id), :class=>"newstitle" %>
- <%= post.view_count %>
-
-
- <% end %>
-
-
more
-
-
-<% elsif @widget_style == '10' %>
-
-
========== 10圖 標題 ==========
-
-
-
-<% elsif @widget_style == '11' %>
-
-
========== 11圖 日期 標題 ==========
-
-
-
-<% elsif @widget_style == '12' %>
-
-
========== 12圖 標題 狀態 ==========
-
-
-
-<% elsif @widget_style == '13' %>
-
-
========== 13圖 日期 標題 狀態 ==========
-
-
-
-<% elsif @widget_style == '14' %>
-
-
========== 14圖 標題 契子 ==========
-
-
-
-<% elsif @widget_style == '15' %>
-
-
========== 15圖 標題 契子 狀態 ==========
-
-
-
-<% elsif @widget_style == '16' %>
-
-
========== 16 圖 日期 標題 契子 ==========
-
-
-
-<% elsif @widget_style == '17' %>
-
-
========== 17圖 日期 標題 契子 狀態 ==========
-
-
-
-<% elsif @widget_style == '18' %>
-
-
========== 18圖一張 日期 多標題 ==========
-
-
-
-
- <% @bulletins.each do |post| %>
-
- <%= display_date(post.postdate) %>
- <%= link_to post.title[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.bulletin_category_id), :class=>"newstitle" %>
-
- <% end %>
-
-
more
-
-
-
-<% elsif @widget_style == '19' %>
-
-
========== 19圖一張 日期 多標題 ==========
-
-
-
-
- <% @bulletins.each do |post| %>
-
- <%= display_date(post.postdate) %>
- <%= link_to post.title[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.bulletin_category_id), :class=>"newstitle" %>
- <% if post.is_top? %>
- <%= t(:top) %>
- <% end %>
- <% if post.is_hot? %>
- <%= t(:hot) %>
- <% end %>
-
- <% end %>
-
-
more
-
-
<% end %>
\ No newline at end of file
diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/index.html.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/index.html.erb
index dacb9eaf..81992d59 100644
--- a/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/index.html.erb
+++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/index.html.erb
@@ -1,3 +1,7 @@
+
+
+
+
<%= render 'index' %>
\ No newline at end of file