diff --git a/vendor/built_in_modules/announcement/announcement.json b/vendor/built_in_modules/announcement/announcement.json index 77026d91a..605c912e6 100644 --- a/vendor/built_in_modules/announcement/announcement.json +++ b/vendor/built_in_modules/announcement/announcement.json @@ -7,6 +7,6 @@ "update_info": "Some info", "create_date": "11-11-2011", "app_pages": ["bulletins"], - "widgets": ["bulletins","bulletins_list"], + "widgets": ["bulletins","bulletins_list", "bulletins_and_web_links"], "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 41319bf15..a8ca336ec 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 @@ -30,6 +30,23 @@ class Panel::Announcement::Widget::BulletinsController < ObitWidgetController end + def bulletins_and_web_links + @tags = AnnouncementTag.all + @selected_tag = AnnouncementTag.find(params[:id]) rescue @tags[0] + @bulletins = @selected_tag.get_visible_bulletins.page(params[:page]).per(1) rescue nil + @web_links = WebResourceTag.first(:conditions => {:en => @selected_tag[:en]}).get_visible_links.page(params[:page]).per(1) rescue nil + end + + def reload_bulletins + @selected_tag = AnnouncementTag.find(params[:tag_id]) + @bulletins = @selected_tag.get_visible_bulletins.page(params[:page]).per(1) rescue nil + end + + def reload_web_links + @selected_tag = AnnouncementTag.find(params[:tag_id]) + @web_links = WebResourceTag.first(:conditions => {:en => @selected_tag[:en]}).get_visible_links.page(params[:page]).per(1) rescue nil + end + protected diff --git a/vendor/built_in_modules/announcement/app/models/announcement_tag.rb b/vendor/built_in_modules/announcement/app/models/announcement_tag.rb index 2eac01025..b40ace36b 100644 --- a/vendor/built_in_modules/announcement/app/models/announcement_tag.rb +++ b/vendor/built_in_modules/announcement/app/models/announcement_tag.rb @@ -2,4 +2,9 @@ class AnnouncementTag < Tag has_and_belongs_to_many :bulletins + + def get_visible_bulletins(sort = :name) + self.bulletins.where(:is_hidden => false).desc(:is_top, sort) + end + end \ No newline at end of file diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/_bulletins.html.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/_bulletins.html.erb new file mode 100644 index 000000000..29fce0b13 --- /dev/null +++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/_bulletins.html.erb @@ -0,0 +1,7 @@ +<% @bulletins.each do |bulletin| %> +
  • + <%= bulletin.title[I18n.locale] %> +
  • +<% end %> + +<%= paginate @bulletins, :params => {:controller => 'widget/bulletins', :action => 'reload_bulletins', :tag_id => @selected_tag.id}, :remote => true %> \ No newline at end of file diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/_tag.html.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/_tag.html.erb new file mode 100644 index 000000000..c6940bd59 --- /dev/null +++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/_tag.html.erb @@ -0,0 +1,4 @@ +
  • + <%= link_to tag[I18n.locale], panel_announcement_widget_bulletins_and_web_links_path(:id => tag.id), :remote => true %> + <%= '-' if tag.eql?(@selected_tag) %> +
  • \ No newline at end of file diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/_web_links.html.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/_web_links.html.erb new file mode 100644 index 000000000..87038c1a6 --- /dev/null +++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/_web_links.html.erb @@ -0,0 +1,7 @@ +<% @web_links.each do |web_link| %> +
  • + <%= web_link.name[I18n.locale] %> +
  • +<% end %> + +<%= paginate @web_links, :params => {:controller => 'widget/bulletins', :action => 'reload_web_links', :tag_id => @selected_tag.id}, :remote => true %> \ No newline at end of file diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/bulletins_and_web_links.html.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/bulletins_and_web_links.html.erb new file mode 100644 index 000000000..0d1bc0472 --- /dev/null +++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/bulletins_and_web_links.html.erb @@ -0,0 +1,17 @@ +
    + +
    + +
    + +
    + +
    + +
    \ No newline at end of file diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/bulletins_and_web_links.js.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/bulletins_and_web_links.js.erb new file mode 100644 index 000000000..017bb1fad --- /dev/null +++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/bulletins_and_web_links.js.erb @@ -0,0 +1,3 @@ +$('#bulletins_web_links_tags').html("<%= j render :partial => 'tag', :collection => @tags %>") +$('#bulletins_web_links_bulletins').html("<%= j render 'bulletins' %>") +$('#bulletins_web_links_web_links').html("<%= j render 'web_links' %>") \ No newline at end of file diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/reload_bulletins.js.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/reload_bulletins.js.erb new file mode 100644 index 000000000..ec1197152 --- /dev/null +++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/reload_bulletins.js.erb @@ -0,0 +1 @@ +$('#bulletins_web_links_bulletins').html("<%= j render 'bulletins' %>") \ No newline at end of file diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/reload_web_links.js.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/reload_web_links.js.erb new file mode 100644 index 000000000..d1abb2d75 --- /dev/null +++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/widget/bulletins/reload_web_links.js.erb @@ -0,0 +1 @@ +$('#bulletins_web_links_web_links').html("<%= j render 'web_links' %>") \ No newline at end of file diff --git a/vendor/built_in_modules/announcement/config/routes.rb b/vendor/built_in_modules/announcement/config/routes.rb index 6e65320f2..4a25ad349 100644 --- a/vendor/built_in_modules/announcement/config/routes.rb +++ b/vendor/built_in_modules/announcement/config/routes.rb @@ -16,6 +16,9 @@ Rails.application.routes.draw do namespace :widget do match "bulletins" => "bulletins#index" match "bulletins_list" => "bulletins#bulletins_list" + match "bulletins_and_web_links" => "bulletins#bulletins_and_web_links" + match "reload_bulletins" => "bulletins#reload_bulletins" + match "reload_web_links" => "bulletins#reload_web_links" end end end diff --git a/vendor/built_in_modules/web_resource/app/models/web_resource_tag.rb b/vendor/built_in_modules/web_resource/app/models/web_resource_tag.rb index 2355cb5e9..bb97b3517 100644 --- a/vendor/built_in_modules/web_resource/app/models/web_resource_tag.rb +++ b/vendor/built_in_modules/web_resource/app/models/web_resource_tag.rb @@ -4,7 +4,7 @@ class WebResourceTag < Tag def get_visible_links(sort = :name) - self.web_links.where(:is_hidden => false).desc(:is_top, sort) + self.web_links.where(:is_hidden => false).desc(:is_top, sort) end end \ No newline at end of file