Announcement modifications and tags
This commit is contained in:
		
							parent
							
								
									f57e9f19f7
								
							
						
					
					
						commit
						3e70634add
					
				|  | @ -16,7 +16,7 @@ $(document).ready(function(){ | ||||||
| 	 | 	 | ||||||
| 	$(function() { | 	$(function() { | ||||||
| 		var $role = $('.select-role'); | 		var $role = $('.select-role'); | ||||||
| 		$('[name="privacy"]').each(function($i) { | 		$('.privacy').each(function($i) { | ||||||
| 			$(this).click(function() { | 			$(this).click(function() { | ||||||
| 				switch ($i) { | 				switch ($i) { | ||||||
| 					case 0: | 					case 0: | ||||||
|  |  | ||||||
|  | @ -0,0 +1,48 @@ | ||||||
|  | class Admin::TagsController < ApplicationController | ||||||
|  |    | ||||||
|  |   layout 'new_admin' | ||||||
|  |   before_filter :authenticate_user! | ||||||
|  |   before_filter :is_admin? | ||||||
|  |   before_filter :set_module_app | ||||||
|  |     | ||||||
|  |   def index | ||||||
|  |     get_tags | ||||||
|  |     @module_app_id = @module_app.id rescue nil | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   def new | ||||||
|  | 
 | ||||||
|  |   end | ||||||
|  |    | ||||||
|  |   def edit | ||||||
|  |     @tag = Tag.find(params[:id]) | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   def create | ||||||
|  |     @tag = Tag.create(params[:tag]) | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   def update | ||||||
|  |     @tag = Tag.find(params[:id]) | ||||||
|  |     @tag.update_attributes(params[:tag]) | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   def destroy | ||||||
|  |     @tag = Tag.find(params[:id]) | ||||||
|  |     @tag.destroy | ||||||
|  |     respond_to do |format| | ||||||
|  |       format.js { render 'js/remove_element', :locals => {:id => "#{dom_id @tag}"} } | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  |    | ||||||
|  |   protected | ||||||
|  |    | ||||||
|  |   def set_module_app | ||||||
|  |     @module_app ||= ModuleApp.first(:conditions => {:key => @app_title.underscore}) rescue nil | ||||||
|  |   end | ||||||
|  |    | ||||||
|  |   def get_tags | ||||||
|  |     @tags = (@module_app ?  @module_app.tags : Tag.all) | ||||||
|  |   end | ||||||
|  |    | ||||||
|  | end | ||||||
|  | @ -17,4 +17,8 @@ class I18nVariable | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
|    |    | ||||||
|  |   def self.from_locale(locale) | ||||||
|  |     I18nVariable.first(:conditions => {:key => locale})[I18n.locale] | ||||||
|  |   end | ||||||
|  |    | ||||||
| end | end | ||||||
|  |  | ||||||
|  | @ -18,6 +18,8 @@ class ModuleApp | ||||||
|   has_many :managers,as: :managing_app ,:class_name => "AppManager" #,:dependent => :destroy,:foreign_key => "managing_app_id",:inverse_of => :managing_app |   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 |   has_many :sub_managers,as: :sub_managing_app ,:class_name => "AppManager"#, :dependent => :destroy,:foreign_key => "sub_managing_app_id",:inverse_of => :sub_managing_app | ||||||
|    |    | ||||||
|  |   has_many :tags | ||||||
|  |    | ||||||
|   has_one :app_auth,dependent: :delete |   has_one :app_auth,dependent: :delete | ||||||
|    |    | ||||||
|   before_save :set_key |   before_save :set_key | ||||||
|  |  | ||||||
|  | @ -0,0 +1,9 @@ | ||||||
|  | class Tag | ||||||
|  |    | ||||||
|  |   include Mongoid::Document | ||||||
|  |   include Mongoid::Timestamps | ||||||
|  |    | ||||||
|  |   belongs_to :module_app | ||||||
|  |   has_and_belongs_to_many :bulletins | ||||||
|  |    | ||||||
|  | end | ||||||
|  | @ -0,0 +1,7 @@ | ||||||
|  | <%= form_for :tag, :url => admin_tags_path, :remote => true, :html => {:id => 'tag_form'} do |f| %> | ||||||
|  | 	<% @site_valid_locales.each do |locale| %> | ||||||
|  | 	  <%= I18nVariable.from_locale(locale) %>:<%= f.text_field locale %> | ||||||
|  | 	<% end %> | ||||||
|  | 	<%= f.hidden_field :module_app_id, :value => @module_app_id %> | ||||||
|  | 	<%= f.submit %> | ||||||
|  | <% end %> | ||||||
|  | @ -0,0 +1,7 @@ | ||||||
|  | <%= form_for tag, :url => admin_tag_path(tag), :remote => true do |f| %> | ||||||
|  | 	<% @site_valid_locales.each do |locale| %> | ||||||
|  | 	  <%= I18nVariable.from_locale(locale) %>:<%= f.text_field locale %> | ||||||
|  | 	<% end %> | ||||||
|  | 	<%= f.hidden_field :module_app_id, :value => tag.module_app_id %> | ||||||
|  | 	<%= f.submit %> | ||||||
|  | <% end %> | ||||||
|  | @ -0,0 +1,8 @@ | ||||||
|  | <div id="<%= dom_id tag %>" > | ||||||
|  | 	<% @site_valid_locales.each do |locale| %> | ||||||
|  | 	  <%= I18nVariable.from_locale(locale) %>: | ||||||
|  | 		<%= tag[locale] %> | ||||||
|  | 	<% end %> | ||||||
|  | 	<%= link_to t(:edit), edit_admin_tag_path(tag), :remote => true  %> | ||||||
|  | 	<%= link_to t(:delete), admin_tag_path(tag), :confirm => t('sure?'), :method => :delete, :remote => true  %> | ||||||
|  | </div> | ||||||
|  | @ -0,0 +1,4 @@ | ||||||
|  | $('#tag_form').each(function(){ | ||||||
|  | 	this.reset(); | ||||||
|  | }); | ||||||
|  | $('#tags').append("<%= j render :partial => 'tag', :object => @tag %>") | ||||||
|  | @ -0,0 +1 @@ | ||||||
|  | $('#<%= dom_id @tag %>').html("<%= j render :partial => 'form', :locals => {:tag => @tag} %>") | ||||||
|  | @ -0,0 +1,6 @@ | ||||||
|  | <div id='tags'> | ||||||
|  | 	<%= render :partial => 'tag', :collection => @tags %> | ||||||
|  | </div> | ||||||
|  | ------------------------- | ||||||
|  | <br/> | ||||||
|  | <%= render 'add' %> | ||||||
|  | @ -0,0 +1 @@ | ||||||
|  | $('#<%= dom_id @tag %>').html("<%= j render :partial => 'tag', :object => @tag %>") | ||||||
|  | @ -0,0 +1,11 @@ | ||||||
|  | <%# Link to the "First" page | ||||||
|  |   - available local variables | ||||||
|  |     url:           url to the first page | ||||||
|  |     current_page:  a page object for the currently displayed page | ||||||
|  |     num_pages:     total number of pages | ||||||
|  |     per_page:      number of items to fetch per page | ||||||
|  |     remote:        data-remote | ||||||
|  | -%> | ||||||
|  | <span class="first"> | ||||||
|  |   <%= link_to_unless current_page.first?, raw(t 'views.pagination.first'), url, :remote => remote %> | ||||||
|  | </span> | ||||||
|  | @ -0,0 +1,8 @@ | ||||||
|  | <%# Non-link tag that stands for skipped pages... | ||||||
|  |   - available local variables | ||||||
|  |     current_page:  a page object for the currently displayed page | ||||||
|  |     num_pages:     total number of pages | ||||||
|  |     per_page:      number of items to fetch per page | ||||||
|  |     remote:        data-remote | ||||||
|  | -%> | ||||||
|  | <span class="page gap"><%= raw(t 'views.pagination.truncate') %></span> | ||||||
|  | @ -0,0 +1,11 @@ | ||||||
|  | <%# Link to the "Last" page | ||||||
|  |   - available local variables | ||||||
|  |     url:           url to the last page | ||||||
|  |     current_page:  a page object for the currently displayed page | ||||||
|  |     num_pages:     total number of pages | ||||||
|  |     per_page:      number of items to fetch per page | ||||||
|  |     remote:        data-remote | ||||||
|  | -%> | ||||||
|  | <span class="last"> | ||||||
|  |   <%= link_to_unless current_page.last?, raw(t 'views.pagination.last'), url, {:remote => remote} %> | ||||||
|  | </span> | ||||||
|  | @ -0,0 +1,11 @@ | ||||||
|  | <%# Link to the "Next" page | ||||||
|  |   - available local variables | ||||||
|  |     url:           url to the next page | ||||||
|  |     current_page:  a page object for the currently displayed page | ||||||
|  |     num_pages:     total number of pages | ||||||
|  |     per_page:      number of items to fetch per page | ||||||
|  |     remote:        data-remote | ||||||
|  | -%> | ||||||
|  | <span class="next"> | ||||||
|  |   <%= link_to_unless current_page.last?, raw(t 'views.pagination.next'), url, :rel => 'next', :remote => remote %> | ||||||
|  | </span> | ||||||
|  | @ -0,0 +1,12 @@ | ||||||
|  | <%# Link showing page number | ||||||
|  |   - available local variables | ||||||
|  |     page:          a page object for "this" page | ||||||
|  |     url:           url to this page | ||||||
|  |     current_page:  a page object for the currently displayed page | ||||||
|  |     num_pages:     total number of pages | ||||||
|  |     per_page:      number of items to fetch per page | ||||||
|  |     remote:        data-remote | ||||||
|  | -%> | ||||||
|  | <span class="page<%= ' current' if page.current? %>"> | ||||||
|  |   <%= link_to_unless page.current?, page, url, opts = {:remote => remote, :rel => page.next? ? 'next' : page.prev? ? 'prev' : nil} %> | ||||||
|  | </span> | ||||||
|  | @ -0,0 +1,23 @@ | ||||||
|  | <%# The container tag | ||||||
|  |   - available local variables | ||||||
|  |     current_page:  a page object for the currently displayed page | ||||||
|  |     num_pages:     total number of pages | ||||||
|  |     per_page:      number of items to fetch per page | ||||||
|  |     remote:        data-remote | ||||||
|  |     paginator:     the paginator that renders the pagination tags inside | ||||||
|  | -%> | ||||||
|  | <%= paginator.render do -%> | ||||||
|  |   <nav class="pagination"> | ||||||
|  |     <%= first_page_tag unless current_page.first? %> | ||||||
|  |     <%= prev_page_tag unless current_page.first? %> | ||||||
|  |     <% each_page do |page| -%> | ||||||
|  |       <% if page.left_outer? || page.right_outer? || page.inside_window? -%> | ||||||
|  |         <%= page_tag page %> | ||||||
|  |       <% elsif !page.was_truncated? -%> | ||||||
|  |         <%= gap_tag %> | ||||||
|  |       <% end -%> | ||||||
|  |     <% end -%> | ||||||
|  |     <%= next_page_tag unless current_page.last? %> | ||||||
|  |     <%= last_page_tag unless current_page.last? %> | ||||||
|  |   </nav> | ||||||
|  | <% end -%> | ||||||
|  | @ -0,0 +1,11 @@ | ||||||
|  | <%# Link to the "Previous" page | ||||||
|  |   - available local variables | ||||||
|  |     url:           url to the previous page | ||||||
|  |     current_page:  a page object for the currently displayed page | ||||||
|  |     num_pages:     total number of pages | ||||||
|  |     per_page:      number of items to fetch per page | ||||||
|  |     remote:        data-remote | ||||||
|  | -%> | ||||||
|  | <span class="prev"> | ||||||
|  |   <%= link_to_unless current_page.first?, raw(t 'views.pagination.previous'), url, :rel => 'prev', :remote => remote %> | ||||||
|  | </span> | ||||||
|  | @ -9,6 +9,7 @@ en: | ||||||
|    |    | ||||||
|   add: Add |   add: Add | ||||||
|   back: Back |   back: Back | ||||||
|  |   cancel: Cancel | ||||||
|   create: Create |   create: Create | ||||||
|   delete: Delete |   delete: Delete | ||||||
|   disable: Disable |   disable: Disable | ||||||
|  | @ -24,6 +25,7 @@ en: | ||||||
|   nothing: Nothing |   nothing: Nothing | ||||||
|   password: Password |   password: Password | ||||||
|   show: Show |   show: Show | ||||||
|  |   submit: Submit | ||||||
|   sure?: Are you sure? |   sure?: Are you sure? | ||||||
|   update: Update |   update: Update | ||||||
|   yes_: "Yes" |   yes_: "Yes" | ||||||
|  | @ -31,6 +33,7 @@ en: | ||||||
|   admin: |   admin: | ||||||
|     action: Action |     action: Action | ||||||
|     ad_banner: AD Banner |     ad_banner: AD Banner | ||||||
|  |     add: Add | ||||||
|     add_language: Add language |     add_language: Add language | ||||||
|     add_drop_down_item: +Add Menu Item |     add_drop_down_item: +Add Menu Item | ||||||
|     admin: Admin |     admin: Admin | ||||||
|  |  | ||||||
|  | @ -81,6 +81,7 @@ PrototypeR4::Application.routes.draw do | ||||||
|     end |     end | ||||||
|     resources :sites |     resources :sites | ||||||
|     resources :snippets |     resources :snippets | ||||||
|  |     resources :tags | ||||||
|     resources :translations |     resources :translations | ||||||
|     resources :users |     resources :users | ||||||
|   end |   end | ||||||
|  |  | ||||||
|  | @ -13,6 +13,10 @@ class Panel::Announcement::BackEnd::BulletinsController < ApplicationController | ||||||
|     # @bulletins = Bulletin.where("bulletin_category_id" => params[:bulletin_category_id]).desc("postdate") if params[:bulletin_category_id] |     # @bulletins = Bulletin.where("bulletin_category_id" => params[:bulletin_category_id]).desc("postdate") if params[:bulletin_category_id] | ||||||
|      |      | ||||||
|   	@bulletins = Bulletin.search(params[:search],params[:category_id]) |   	@bulletins = Bulletin.search(params[:search],params[:category_id]) | ||||||
|  |   	@bulletin_categories = BulletinCategory.all | ||||||
|  |   	 | ||||||
|  |   	module_app = ModuleApp.first(:conditions => {:key => 'announcement'}) | ||||||
|  |   	@tags = Tag.all(:conditions => {:module_app_id => module_app.id}) | ||||||
| 
 | 
 | ||||||
|     respond_to do |format| |     respond_to do |format| | ||||||
|       format.html # index.html.erb |       format.html # index.html.erb | ||||||
|  |  | ||||||
|  | @ -0,0 +1,8 @@ | ||||||
|  | class Panel::Announcement::BackEnd::TagsController < Admin::TagsController | ||||||
|  |    | ||||||
|  |   def initialize | ||||||
|  |     super | ||||||
|  |     @app_title = 'announcement' | ||||||
|  |   end | ||||||
|  |    | ||||||
|  | end | ||||||
|  | @ -8,6 +8,7 @@ class Bulletin | ||||||
|   has_one :title, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy |   has_one :title, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy | ||||||
|   has_one :subtitle, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy |   has_one :subtitle, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy | ||||||
|   has_one :text, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy |   has_one :text, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy | ||||||
|  |   has_and_belongs_to_many :tags | ||||||
| 
 | 
 | ||||||
|   field :postdate , :type => Date |   field :postdate , :type => Date | ||||||
|   field :deadline , :type => Date |   field :deadline , :type => Date | ||||||
|  | @ -19,6 +20,8 @@ class Bulletin | ||||||
|   field :is_hot, :type => Boolean, :default => false |   field :is_hot, :type => Boolean, :default => false | ||||||
|   field :is_hidden, :type => Boolean, :default => false |   field :is_hidden, :type => Boolean, :default => false | ||||||
|    |    | ||||||
|  |   field :public, :type => Boolean, :default => true | ||||||
|  |    | ||||||
|   mount_uploader :image, ImageUploader |   mount_uploader :image, ImageUploader | ||||||
|    |    | ||||||
|   belongs_to :bulletin_category |   belongs_to :bulletin_category | ||||||
|  | @ -30,9 +33,6 @@ class Bulletin | ||||||
|    |    | ||||||
|   accepts_nested_attributes_for :bulletin_files, :allow_destroy => true |   accepts_nested_attributes_for :bulletin_files, :allow_destroy => true | ||||||
|   accepts_nested_attributes_for :bulletin_links, :allow_destroy => true |   accepts_nested_attributes_for :bulletin_links, :allow_destroy => true | ||||||
|   accepts_nested_attributes_for :title, :allow_destroy => true |  | ||||||
|   accepts_nested_attributes_for :subtitle, :allow_destroy => true |  | ||||||
|   accepts_nested_attributes_for :text, :allow_destroy => true |  | ||||||
|    |    | ||||||
|   validates_presence_of :title |   validates_presence_of :title | ||||||
|    |    | ||||||
|  |  | ||||||
|  | @ -1,9 +0,0 @@ | ||||||
| class BulletinImage < BulletinFile |  | ||||||
| 
 |  | ||||||
|   field :name |  | ||||||
|    |  | ||||||
|   embedded_in :bulletin |  | ||||||
|    |  | ||||||
|   mount_uploader :file, ImageUploader |  | ||||||
|    |  | ||||||
| end |  | ||||||
|  | @ -0,0 +1,48 @@ | ||||||
|  | <tr id="<%= dom_id bulletin %>"> | ||||||
|  | 	<td><input type="checkbox"></td> | ||||||
|  | 	<td> | ||||||
|  | 		<% if bulletin.is_top? %> | ||||||
|  | 			<span class="label label-success"><%= t(:top) %></span> | ||||||
|  | 		<% end %> | ||||||
|  | 		<% if bulletin.is_hot? %> | ||||||
|  | 			<span class="label label-important"><%= t(:hot) %></span> | ||||||
|  | 		<% end %> | ||||||
|  | 		<% if bulletin.is_hidden? %> | ||||||
|  | 			<span class="label"><%= t(:hidden) %></span> | ||||||
|  | 		<% end %> | ||||||
|  | 		<div class="quick-edit"> | ||||||
|  | 			<ul class="nav nav-pills hide"> | ||||||
|  | 				<li><%= link_to t('bulletin.edit'), edit_panel_announcement_back_end_bulletin_path(bulletin) %></li> | ||||||
|  | 				<li class="dropdown"> | ||||||
|  | 					<a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick Edit<b class="caret"></b></a> | ||||||
|  | 					<ul class="dropdown-menu" id="menu1"> | ||||||
|  | 						<li><a href="#">Basic</a></li> | ||||||
|  | 						<li><a href="#">Picture</a></li> | ||||||
|  | 						<li><a href="#">Tags</a></li> | ||||||
|  | 						<li><a href="#">Link</a></li> | ||||||
|  | 						<li><a href="#">File</a></li> | ||||||
|  | 					</ul> | ||||||
|  | 				</li> | ||||||
|  | 				<li class="dropdown"><%= link_to t('bulletin.delete'), panel_announcement_back_end_bulletin_path(bulletin), :confirm => t('announcement.sure?'), :method => :delete, :remote => true %></li> | ||||||
|  | 			</ul> | ||||||
|  | 		</div> | ||||||
|  | 	</td> | ||||||
|  | 	<td><%= bulletin.bulletin_category.i18n_variable[I18n.locale] %></td> | ||||||
|  | 	<td><%= link_to bulletin.title[I18n.locale], panel_announcement_back_end_bulletin_path(bulletin) %></td> | ||||||
|  | 	<td><%= bulletin.postdate %></td> | ||||||
|  | 	<td><%= (bulletin.deadline) ? bulletin.deadline : t('bulletin.no_deadline') %></td> | ||||||
|  | 	<td> | ||||||
|  | 		<% bulletin.tags.each do |tag| %> | ||||||
|  | 			<span class="label label-tags"><%= tag[I18n.locale] %></span> | ||||||
|  | 		<% end %> | ||||||
|  | 	</td> | ||||||
|  | 	<td>rulingcom</td> | ||||||
|  | </tr> | ||||||
|  | 
 | ||||||
|  | <%= render :partial => 'quick_edit', :locals => {:bulletin => bulletin} %> | ||||||
|  | 
 | ||||||
|  | <% content_for :page_specific_javascript do %> | ||||||
|  | 	<script> | ||||||
|  | 
 | ||||||
|  | 	</script> | ||||||
|  | <% end %> | ||||||
|  | @ -1,18 +0,0 @@ | ||||||
| 
 |  | ||||||
| <tr id="<%= dom_id post %>"> |  | ||||||
| 	<td></td> |  | ||||||
| 	<td><%= post.bulletin_category.i18n_variable[I18n.locale] %></td> |  | ||||||
| 	<td><%#= link_to post.title, panel_announcement_front_end_bulletin_path(post) %> |  | ||||||
| 	<%= link_to post.title, panel_announcement_back_end_bulletin_path(post) %> |  | ||||||
| 	</td> |  | ||||||
| 	<td><%= post.postdate %></td> |  | ||||||
| 	<td><%= (post.deadline) ? post.deadline : t('bulletin.no_deadline') %></td> |  | ||||||
| 	<td> |  | ||||||
| 	<%= link_to t('bulletin.edit'), edit_panel_announcement_back_end_bulletin_path(post) %> |  |  | ||||||
| 	 |  | ||||||
| 	<%= link_to t(:set_top), eval("panel_announcement_back_end_bulletin_path(post, :authenticity_token => form_authenticity_token, :bulletin => {:is_top => true})"), :remote => true, :method => :put, :id => "disable_#{post.id}", :style => "display:#{post.is_top? ? 'none' : ''}", :class => 'switch' %> |  | ||||||
| 	<%= link_to t(:cancel_top), eval("panel_announcement_back_end_bulletin_path(post, :authenticity_token => form_authenticity_token, :bulletin => {:is_top => false})"), :remote => true, :method => :put, :id => "enable_#{post.id}", :style => "display:#{post.is_top? ? '' : 'none'}", :class => 'switch' %> |  | ||||||
| 			 |  | ||||||
| 	 | <%= link_to t('bulletin.delete'), panel_announcement_back_end_bulletin_path(post), :confirm => t('announcement.sure?'), :method => :delete, :remote => true %> |  | ||||||
| 	</td> |  | ||||||
| </tr> |  | ||||||
|  | @ -0,0 +1,56 @@ | ||||||
|  | <div class="subnav"> | ||||||
|  |     <ul class="nav nav-pills filter"> | ||||||
|  |         <li class="accordion-group"> | ||||||
|  |             <div class="accordion-heading"> | ||||||
|  |                 <a href="#collapse-status" data-toggle="collapse" data-parent=".filters" class="accordion-toggle"><%= t(:status) %> <b class="web-symbol"></b></a> | ||||||
|  |             </div> | ||||||
|  |         </li> | ||||||
|  |         <li class="accordion-group"> | ||||||
|  |             <div class="accordion-heading"> | ||||||
|  |                 <a href="#collapse-category" data-toggle="collapse" data-parent=".filters" class="accordion-toggle"><%= t(:category) %> <b class="web-symbol"></b></a> | ||||||
|  |             </div> | ||||||
|  |         </li> | ||||||
|  |         <li class="accordion-group"> | ||||||
|  |             <div class="accordion-heading"> | ||||||
|  |                 <a href="#collapse-tags" data-toggle="collapse" data-parent=".filters" class="accordion-toggle"><%= t(:tags) %> <b class="web-symbol"></b></a> | ||||||
|  |             </div> | ||||||
|  |         </li> | ||||||
|  |     </ul> | ||||||
|  |     <div class="filters"> | ||||||
|  |         <div class="accordion-body collapse" id="collapse-status"> | ||||||
|  |             <div class="accordion-inner" data-toggle="buttons-checkbox"> | ||||||
|  |                 <a href="#" class="btn">Category1</a> | ||||||
|  |                 <a href="#" class="btn">Category2</a> | ||||||
|  |             </div> | ||||||
|  |             <div class="filter-clear"> | ||||||
|  |                 <a href="#" class="btn"><i class="icons-brush-large"></i>Clear/重置</a> | ||||||
|  |             </div> | ||||||
|  |         </div> | ||||||
|  |         <div class="accordion-body collapse" id="collapse-category"> | ||||||
|  |             <div class="accordion-inner" data-toggle="buttons-checkbox"> | ||||||
|  |                 <a href="#" class="btn">Category1</a> | ||||||
|  |                 <a href="#" class="btn">Category2</a> | ||||||
|  |             </div> | ||||||
|  |             <div class="filter-clear"> | ||||||
|  |                 <a href="#" class="btn"><i class="icons-brush-large"></i>Clear/重置</a> | ||||||
|  |             </div> | ||||||
|  |         </div> | ||||||
|  |         <div class="accordion-body collapse" id="collapse-tags"> | ||||||
|  |             <div class="accordion-inner" data-toggle="buttons-checkbox"> | ||||||
|  |                 <a href="#" class="btn">Tag1</a> | ||||||
|  |                 <a href="#" class="btn">Tag2</a> | ||||||
|  |                 <a href="#" class="btn">Tag3</a> | ||||||
|  |                 <a href="#" class="btn">Tag4</a> | ||||||
|  |                 <a href="#" class="btn">Tag5</a> | ||||||
|  |                 <a href="#" class="btn">Tag6</a> | ||||||
|  |                 <a href="#" class="btn">Tag7</a> | ||||||
|  |                 <a href="#" class="btn">Tag8</a> | ||||||
|  |                 <a href="#" class="btn">Tag9</a> | ||||||
|  |                 <a href="#" class="btn">Tag10</a> | ||||||
|  |             </div> | ||||||
|  |             <div class="filter-clear"> | ||||||
|  |                 <a href="#" class="btn"><i class="icons-brush-large"></i>Clear/重置</a> | ||||||
|  |             </div> | ||||||
|  |         </div> | ||||||
|  |     </div> | ||||||
|  | </div> | ||||||
|  | @ -20,7 +20,10 @@ | ||||||
|     <%= f.label :title %> |     <%= f.label :title %> | ||||||
| 		<%= f.fields_for :title, (@bulletin.new_record? ? @bulletin.build_title : @bulletin.title ) do |f| %> | 		<%= f.fields_for :title, (@bulletin.new_record? ? @bulletin.build_title : @bulletin.title ) do |f| %> | ||||||
| 		  <% @site_valid_locales.each do |locale| %> | 		  <% @site_valid_locales.each do |locale| %> | ||||||
| 		    <td><%= f.text_field locale %></td> | 		    <td> | ||||||
|  | 					<%= I18nVariable.from_locale(locale) %> | ||||||
|  | 					<%= f.text_field locale %> | ||||||
|  | 				</td> | ||||||
| 		  <% end %> | 		  <% end %> | ||||||
| 		<% end %> | 		<% end %> | ||||||
| 	</div> | 	</div> | ||||||
|  | @ -29,7 +32,10 @@ | ||||||
| 		<%= f.label :subtitle %> | 		<%= f.label :subtitle %> | ||||||
| 		<%= f.fields_for :subtitle, (@bulletin.new_record? ? @bulletin.build_subtitle : @bulletin.subtitle ) do |f| %> | 		<%= f.fields_for :subtitle, (@bulletin.new_record? ? @bulletin.build_subtitle : @bulletin.subtitle ) do |f| %> | ||||||
| 			<% @site_valid_locales.each do |locale| %> | 			<% @site_valid_locales.each do |locale| %> | ||||||
| 				<td><%= f.text_area locale, :rows => 10, :cols => 40 %></td> | 				<td> | ||||||
|  | 					<%= I18nVariable.from_locale(locale) %> | ||||||
|  | 					<%= f.text_area locale, :rows => 10, :cols => 40 %> | ||||||
|  | 				</td> | ||||||
| 			<% end %> | 			<% end %> | ||||||
| 		<% end %> | 		<% end %> | ||||||
| 	</div> | 	</div> | ||||||
|  | @ -38,7 +44,10 @@ | ||||||
| 		<%= f.label :text %> | 		<%= f.label :text %> | ||||||
| 		<%= f.fields_for :text, (@bulletin.new_record? ? @bulletin.build_text : @bulletin.text ) do |f| %> | 		<%= f.fields_for :text, (@bulletin.new_record? ? @bulletin.build_text : @bulletin.text ) do |f| %> | ||||||
| 			<% @site_valid_locales.each do |locale| %> | 			<% @site_valid_locales.each do |locale| %> | ||||||
| 				<td><%= f.text_area locale, :rows => 10, :cols => 40 %></td> | 				<td> | ||||||
|  | 					<%= I18nVariable.from_locale(locale) %> | ||||||
|  | 					<%= f.text_area locale, :rows => 10, :cols => 40 %> | ||||||
|  | 				</td> | ||||||
| 			<% end %> | 			<% end %> | ||||||
| 		<% end %> | 		<% end %> | ||||||
| 	</div> | 	</div> | ||||||
|  |  | ||||||
|  | @ -0,0 +1,16 @@ | ||||||
|  | <!-- <tr class="qe-block hide"> --> | ||||||
|  | <tr class="qe-block"> | ||||||
|  | 	<td colspan="8"> | ||||||
|  | 		<legend>Quick Edit - Basic / Picture / Tags / Link / File</legend> | ||||||
|  | 		<%= form_for bulletin, :url => panel_announcement_back_end_bulletin_path(bulletin), :html => {:class => 'form-horizontal'} do |f| %> | ||||||
|  | 			<%= render :partial => "quick_edit_basic", :locals => { :f => f, :bulletin => bulletin } %> | ||||||
|  | 			<%= render :partial => "quick_edit_picture", :locals => { :f => f, :bulletin => bulletin } %> | ||||||
|  | 			<%#= render :partial => "quick_edit_links", :locals => { :f => f, :bulletin => bulletin } %> | ||||||
|  | 			<%= render :partial => "quick_edit_tags", :locals => { :f => f, :bulletin => bulletin } %> | ||||||
|  | 			<div class="form-actions"> | ||||||
|  | 				<%= f.submit t(:submit), :class => 'btn btn-primary' %> | ||||||
|  | 				<%= f.submit t(:cancel), :class => 'btn', :type => 'reset' %> | ||||||
|  | 			</div> | ||||||
|  | 		<% end %> | ||||||
|  | 	</td> | ||||||
|  | </tr> | ||||||
|  | @ -0,0 +1,62 @@ | ||||||
|  | <div id="qe-basic"> | ||||||
|  | 	<div id="widget-category"> | ||||||
|  | 		<div class="control-group"> | ||||||
|  | 			<label class="control-label"><%= t(:category) %></label> | ||||||
|  | 			<div class="controls"> | ||||||
|  | 				<%= f.select :bulletin_category_id, @bulletin_categories.collect {|t| [ t.i18n_variable[I18n.locale], t.id ]}, {}, :class => 'input-large' %> | ||||||
|  | 			</div> | ||||||
|  | 		</div> | ||||||
|  | 	</div> | ||||||
|  | 	 | ||||||
|  | 	<div id="widget-title"> | ||||||
|  | 		<%= f.fields_for :title, bulletin.title  do |f| %> | ||||||
|  | 		  <% @site_valid_locales.each do |locale| %> | ||||||
|  | 				<div class="control-group"> | ||||||
|  | 					<%= label_tag "title-#{locale}", "Title-#{I18nVariable.from_locale(locale)}", :class => 'control-label' %> | ||||||
|  | 					<div class="controls"> | ||||||
|  | 						<%= f.text_field locale, :class => 'input-xxlarge' %> | ||||||
|  | 					</div> | ||||||
|  | 				</div> | ||||||
|  | 		  <% end %> | ||||||
|  | 		<% end %> | ||||||
|  | 	</div> | ||||||
|  | 	 | ||||||
|  | 	<div id="widget-date"> | ||||||
|  | 		<div class="control-group"> | ||||||
|  | 			<label class="control-label"><%= t(:start) %></label> | ||||||
|  | 			<div class="controls"> | ||||||
|  | 				<%= f.date_select :postdate, {}, :class => 'input-small' %> | ||||||
|  | 			</div> | ||||||
|  | 		</div> | ||||||
|  | 		<div class="control-group"> | ||||||
|  | 			<label class="control-label"><%= t(:end) %></label> | ||||||
|  | 			<div class="controls"> | ||||||
|  | 				<%= f.date_select :deadline, {}, :class => 'input-small' %> | ||||||
|  | 			</div> | ||||||
|  | 		</div> | ||||||
|  | 	</div> | ||||||
|  | 	<div id="widget-status"> | ||||||
|  | 		<div class="control-group"> | ||||||
|  | 			<label class="control-label"><%= t(:status) %></label> | ||||||
|  | 			<div class="controls"> | ||||||
|  | 				<label class="checkbox inline"><%= f.check_box :is_hot %><%= t(:hot) %></label> | ||||||
|  | 				<label class="checkbox inline"><%= f.check_box :is_top %><%= t(:top) %></label> | ||||||
|  | 				<label class="checkbox inline"><%= f.check_box :is_hidden %><%= t(:hidden) %></label> | ||||||
|  | 			</div> | ||||||
|  | 		</div> | ||||||
|  | 	</div> | ||||||
|  | 	<div id="widget-role"> | ||||||
|  | 		<div class="control-group"> | ||||||
|  | 			<label class="control-label">Role</label> | ||||||
|  | 			<div class="controls"> | ||||||
|  | 				<label class="radio inline"><%= f.radio_button :public, true, :class => 'privacy' %>Public</label> | ||||||
|  | 				<label class="radio inline"><%= f.radio_button :public, false, :class => 'privacy' %>Private</label> | ||||||
|  | 				<div class="well select-role" style="display:<%= bulletin.public ? 'none' : 'block' %>;"> | ||||||
|  | 					<label class="checkbox inline"><input type="checkbox" value="student">Student</label> | ||||||
|  | 					<label class="checkbox inline"><input type="checkbox" value="teacher">Teacher</label> | ||||||
|  | 					<label class="checkbox inline"><input type="checkbox" value="staff">Staff</label> | ||||||
|  | 				</div> | ||||||
|  | 			</div> | ||||||
|  | 		</div> | ||||||
|  | 	</div> | ||||||
|  | </div> | ||||||
|  | @ -0,0 +1,62 @@ | ||||||
|  | <div id="qe-file"> | ||||||
|  |     <div id="widget-file"> | ||||||
|  |         <div class="control-group"> | ||||||
|  |             <table class="table table-condensed"> | ||||||
|  |                 <thead> | ||||||
|  |                     <tr> | ||||||
|  |                         <th>Chinese</th> | ||||||
|  |                         <th>English</th> | ||||||
|  |                         <th class="span1"></th> | ||||||
|  |                     </tr> | ||||||
|  |                 </thead> | ||||||
|  |                 <tfoot> | ||||||
|  |                     <tr> | ||||||
|  |                         <td style="text-align:center" colspan="3"> | ||||||
|  |                             <a class="btn btn-primary btn-small" href="#modal-file" data-toggle="modal"><i class="icon-plus icon-white"></i> ADD/新增</a> | ||||||
|  |                         </td> | ||||||
|  |                     </tr> | ||||||
|  |                 </tfoot> | ||||||
|  |                 <tbody> | ||||||
|  |                     <tr> | ||||||
|  |                         <td>…</td> | ||||||
|  |                         <td>…</td> | ||||||
|  |                         <td><a href="#modal-file" data-toggle="modal" class="action"><i class="icon-pencil"></i></a><a href class="action"><i class="icon-remove"></i></a></td> | ||||||
|  |                     </tr> | ||||||
|  |                 </tbody> | ||||||
|  |             </table> | ||||||
|  |         </div> | ||||||
|  |         <div id="modal-file" class="modal hide fade"> | ||||||
|  |             <div class="modal-header"> | ||||||
|  |                 <a class="close" data-dismiss="modal">×</a> | ||||||
|  |                 <h3>Add File / Edit File</h3> | ||||||
|  |             </div> | ||||||
|  |             <div class="modal-body form-horizontal"> | ||||||
|  |                 <div class="controls file-upload"> | ||||||
|  |                 <label class="control-label btn" for="input-upload"> | ||||||
|  |                     Browse | ||||||
|  |                     <input id="input-upload" class="upload" type="file" name="upload" onchange="document.getElementById('fn').innerHTML = this.value;"> | ||||||
|  |                 </label> | ||||||
|  |                 <span id='fn' class="file-name"></span> | ||||||
|  |                 </div> | ||||||
|  |                 <div class="control-group"> | ||||||
|  |                     <label for="file-zh-tw" class="control-label">Chinese</label> | ||||||
|  |                     <div class="controls"> | ||||||
|  |                     <input type="text" value="" id="file-zh-tw" class="input-xlarge"> | ||||||
|  |                     <span class="help-inline">Please correct the error</span> | ||||||
|  |                     </div> | ||||||
|  |                 </div> | ||||||
|  |                 <div class="control-group"> | ||||||
|  |                     <label for="file-en" class="control-label">English</label> | ||||||
|  |                     <div class="controls"> | ||||||
|  |                     <input type="text" value="" id="file-en" class="input-xlarge"> | ||||||
|  |                     <span class="help-inline">Please correct the error</span> | ||||||
|  |                     </div> | ||||||
|  |                 </div> | ||||||
|  |             </div> | ||||||
|  |             <div class="modal-footer"> | ||||||
|  |                 <a class="btn btn-primary" href="#">Submit/確定</a> | ||||||
|  |                 <a class="btn" data-dismiss="modal" href="#">Cancel/取消</a> | ||||||
|  |             </div> | ||||||
|  |         </div> | ||||||
|  |     </div> | ||||||
|  | </div> | ||||||
|  | @ -0,0 +1,62 @@ | ||||||
|  | <div id="qe-link"> | ||||||
|  |     <div id="widget-link"> | ||||||
|  |         <div class="control-group"> | ||||||
|  |             <table class="table table-condensed"> | ||||||
|  |                 <thead> | ||||||
|  |                     <tr> | ||||||
|  |                         <th>Chinese</th> | ||||||
|  |                         <th>English</th> | ||||||
|  |                         <th class="span1"></th> | ||||||
|  |                     </tr> | ||||||
|  |                 </thead> | ||||||
|  |                 <tfoot> | ||||||
|  |                     <tr> | ||||||
|  |                         <td style="text-align:center" colspan="3"> | ||||||
|  |                             <a class="btn btn-primary btn-small" href="#modal-link" data-toggle="modal"><i class="icon-plus icon-white"></i> ADD/新增</a> | ||||||
|  |                         </td> | ||||||
|  |                     </tr> | ||||||
|  |                 </tfoot> | ||||||
|  |                 <tbody> | ||||||
|  |                     <tr> | ||||||
|  |                         <td>…</td> | ||||||
|  |                         <td>…</td> | ||||||
|  |                         <td><a href="#modal-link" data-toggle="modal" class="action"><i class="icon-pencil"></i></a><a href class="action"><i class="icon-remove"></i></a></td> | ||||||
|  |                     </tr> | ||||||
|  |                 </tbody> | ||||||
|  |             </table> | ||||||
|  |         </div> | ||||||
|  |         <div id="modal-link" class="modal hide fade"> | ||||||
|  |             <div class="modal-header"> | ||||||
|  |                 <a class="close" data-dismiss="modal">×</a> | ||||||
|  |                 <h3>Add Link / Edit Link</h3> | ||||||
|  |             </div> | ||||||
|  |             <div class="modal-body form-horizontal"> | ||||||
|  |                 <div class="control-group"> | ||||||
|  |                     <label for="http" class="control-label">http://</label> | ||||||
|  |                     <div class="controls"> | ||||||
|  |                     <input type="text" value="" id="http" class="input-xlarge"> | ||||||
|  |                     <span class="help-inline">Please correct the error</span> | ||||||
|  |                     </div> | ||||||
|  |                 </div> | ||||||
|  |                 <div class="control-group error"> | ||||||
|  |                     <label for="link-zh-tw" class="control-label">Chinese</label> | ||||||
|  |                     <div class="controls"> | ||||||
|  |                     <input type="text" value="" id="link-zh-tw" class="input-xlarge"> | ||||||
|  |                     <span class="help-inline">Please correct the error</span> | ||||||
|  |                     </div> | ||||||
|  |                 </div> | ||||||
|  |                 <div class="control-group"> | ||||||
|  |                     <label for="link-en" class="control-label">English</label> | ||||||
|  |                     <div class="controls"> | ||||||
|  |                     <input type="text" value="" id="link-en" class="input-xlarge"> | ||||||
|  |                     <span class="help-inline">Please correct the error</span> | ||||||
|  |                     </div> | ||||||
|  |                 </div> | ||||||
|  |             </div> | ||||||
|  |             <div class="modal-footer"> | ||||||
|  |                 <a class="btn btn-primary" href="#">Submit/確定</a> | ||||||
|  |                 <a class="btn" data-dismiss="modal" href="#">Cancel/取消</a> | ||||||
|  |             </div> | ||||||
|  |         </div> | ||||||
|  |     </div> | ||||||
|  | </div> | ||||||
|  | @ -0,0 +1,19 @@ | ||||||
|  | <div id="qe-picture"> | ||||||
|  |     <div id="widget-picture"> | ||||||
|  |         <div class="control-group"> | ||||||
|  |             <label class="control-label">Picture</label> | ||||||
|  |             <div class="control-group"> | ||||||
|  |                 <img class="pull-left upload-picture" src="img/default-img.png" /> | ||||||
|  |                 <div class="controls file-upload"> | ||||||
|  |                 <label class="control-label btn" for="input-upload"> | ||||||
|  |                     Browse/選擇檔案 | ||||||
|  |                     <input id="input-upload" class="upload" type="file" name="upload" onchange="document.getElementById('fu').innerHTML = this.form.fu.value = this.value;"> | ||||||
|  |                 </label> | ||||||
|  |                 <span id='fu' class="file-name"></span> | ||||||
|  |                 <br> | ||||||
|  |                 <input name='fu' class="input-large" type="text"> | ||||||
|  |                 </div> | ||||||
|  |             </div> | ||||||
|  |         </div> | ||||||
|  |     </div> | ||||||
|  | </div> | ||||||
|  | @ -0,0 +1,44 @@ | ||||||
|  | <!-- <div id="qe-tags"> | ||||||
|  |     <div id="widget-tags"> | ||||||
|  |         <div class="form-horizontal"> | ||||||
|  |             <div class="control-group error"> | ||||||
|  |                 <label class="control-label" for="tags-zh-tw"> | ||||||
|  |                     Chinese | ||||||
|  |                 </label> | ||||||
|  |                 <div class="controls"> | ||||||
|  |                     <input id='tags-zh-tw' class="input-prepend" type="text"> | ||||||
|  |                     <span class="help-inline">Please correct the error</span> | ||||||
|  |                 </div> | ||||||
|  |             </div> | ||||||
|  |             <div class="control-group"> | ||||||
|  |                 <label class="control-label" for="tags-en"> | ||||||
|  |                     English | ||||||
|  |                 </label> | ||||||
|  |                 <div class="controls"> | ||||||
|  |                     <input id='tags-en' class="input-prepend" type="text"> | ||||||
|  |                     <span class="help-inline">Please correct the error</span> | ||||||
|  |                 </div> | ||||||
|  |             </div> | ||||||
|  |             <div class="control-group"> | ||||||
|  |                 <div class="controls"> | ||||||
|  |                     <hr> | ||||||
|  |                     <span class="label label-tags">Default<a href><i class="icon-remove icon-white"></i></a></span> | ||||||
|  |                     <span class="label label-tags">Default<a href><i class="icon-remove icon-white"></i></a></span> | ||||||
|  |                     <span class="label label-tags">Default<a href><i class="icon-remove icon-white"></i></a></span> | ||||||
|  |                     <span class="label label-tags">Default<a href><i class="icon-remove icon-white"></i></a></span> | ||||||
|  |                 </div> | ||||||
|  |             </div> | ||||||
|  |         </div> | ||||||
|  |     </div> | ||||||
|  | </div> --> | ||||||
|  | 
 | ||||||
|  | <div id="qe-tags"> | ||||||
|  | 	<div id="widget-tags"> | ||||||
|  | 		<div class="form-horizontal"> | ||||||
|  | 			<% @tags.each do |tag| %> | ||||||
|  | 			<%= check_box_tag 'bulletin[tag_ids][]', tag.id, bulletin.tag_ids.include?(tag.id)%> | ||||||
|  | 			<%= tag[I18n.locale] %> | ||||||
|  | 			<% end %> | ||||||
|  | 		</div> | ||||||
|  | 	</div> | ||||||
|  | </div> | ||||||
|  | @ -39,95 +39,33 @@ | ||||||
| <br /> | <br /> | ||||||
| <br /> | <br /> | ||||||
| 
 | 
 | ||||||
| <h1><%= t('bulletin.list_announcement') %></h1> |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 	<table> |  | ||||||
| 	  <tr> |  | ||||||
| 		<th><%= t('bulletin.status') %></th> |  | ||||||
| 		<th><%= t('bulletin.category') %></th> |  | ||||||
| 		<th><%= t('bulletin.title') %></th> |  | ||||||
| 		<th><%= t('bulletin.postdate') %></th> |  | ||||||
| 		<th><%= t('bulletin.deadline') %></th> |  | ||||||
| 		<th><%= t('bulletin.action') %></th> |  | ||||||
| 	  </tr> |  | ||||||
| 
 |  | ||||||
| 	<% @bulletins.each do |post| %> |  | ||||||
| 		<%= render :partial => 'bulletins', :locals => {:post => post} %> |  | ||||||
| 	<% end %>	 |  | ||||||
| 	</table> |  | ||||||
| 
 | 
 | ||||||
| <br /> | <br /> | ||||||
|  --> |  --> | ||||||
| 
 | 
 | ||||||
|  | <%= render 'filter' %> | ||||||
|  | <table class="table main-list"> | ||||||
|  | 	<thead> | ||||||
|  | 		<tr> | ||||||
|  | 			<th class="span1 strong"> | ||||||
|  | 				<input type="checkbox"> | ||||||
|  | 				<a href class="list-remove"><i class="icon-trash"></i></a> | ||||||
|  | 			</th> | ||||||
|  | 			<th class="span1"><%= t('bulletin.status') %></th> | ||||||
|  | 			<th class="span1-2"><%= t('bulletin.category') %></th> | ||||||
|  | 			<th class="span7 select"><%= t('bulletin.title') %></th> | ||||||
|  | 			<th class="span1-2"><%= t('bulletin.start_date') %></th> | ||||||
|  | 			<th class="span1-2"><%= t('bulletin.end_date') %></th> | ||||||
|  | 			<th class="span1-2"><%= t('bulletin.tags') %></th> | ||||||
|  | 			<th class="span1-2"><%= t('bulletin.last_modified') %></th> | ||||||
|  | 		</tr> | ||||||
|  | 	</thead> | ||||||
|  | 	<tbody> | ||||||
|  | 		<%= render :partial => 'bulletin', :collection => @bulletins %> | ||||||
|  | 	</tbody> | ||||||
|  | </table> | ||||||
| 
 | 
 | ||||||
| 
 | <div class="form-actions"> | ||||||
| 
 | 	<%= link_to content_tag(:i, nil, :class => 'icon-plus icon-white') + t('admin.add'), new_panel_announcement_back_end_bulletin_path, :class => 'btn btn-primary' %> | ||||||
| <div class="subnav"> |  | ||||||
|     <ul class="nav nav-pills filter"> |  | ||||||
|         <li class="accordion-group"> |  | ||||||
|             <div class="accordion-heading"> |  | ||||||
|                 <a href="#collapse-status" data-toggle="collapse" data-parent=".filters" class="accordion-toggle">Status <b class="web-symbol"></b></a> |  | ||||||
|             </div> |  | ||||||
|         </li> |  | ||||||
|         <li class="accordion-group"> |  | ||||||
|             <div class="accordion-heading"> |  | ||||||
|                 <a href="#collapse-category" data-toggle="collapse" data-parent=".filters" class="accordion-toggle">Category <b class="web-symbol"></b></a> |  | ||||||
|             </div> |  | ||||||
|         </li> |  | ||||||
|         <li class="accordion-group"> |  | ||||||
|             <div class="accordion-heading"> |  | ||||||
|                 <a href="#collapse-tags" data-toggle="collapse" data-parent=".filters" class="accordion-toggle">Tags <b class="web-symbol"></b></a> |  | ||||||
|             </div> |  | ||||||
|         </li> |  | ||||||
|     </ul> |  | ||||||
|     <div class="filters"> |  | ||||||
|         <div class="accordion-body collapse" id="collapse-status"> |  | ||||||
|             <div class="accordion-inner" data-toggle="buttons-checkbox"> |  | ||||||
|                 <a href="#" class="btn">Category1</a> |  | ||||||
|                 <a href="#" class="btn">Category2</a> |  | ||||||
|             </div> |  | ||||||
|             <div class="filter-clear"> |  | ||||||
|                 <a href="#" class="btn"><i class="icons-brush-large"></i>Clear/重置</a> |  | ||||||
|             </div> |  | ||||||
|         </div> |  | ||||||
|         <div class="accordion-body collapse" id="collapse-category"> |  | ||||||
|             <div class="accordion-inner" data-toggle="buttons-checkbox"> |  | ||||||
|                 <a href="#" class="btn">Category1</a> |  | ||||||
|                 <a href="#" class="btn">Category2</a> |  | ||||||
|             </div> |  | ||||||
|             <div class="filter-clear"> |  | ||||||
|                 <a href="#" class="btn"><i class="icons-brush-large"></i>Clear/重置</a> |  | ||||||
|             </div> |  | ||||||
|         </div> |  | ||||||
|         <div class="accordion-body collapse" id="collapse-tags"> |  | ||||||
|             <div class="accordion-inner" data-toggle="buttons-checkbox"> |  | ||||||
|                 <a href="#" class="btn">Tag1</a> |  | ||||||
|                 <a href="#" class="btn">Tag2</a> |  | ||||||
|                 <a href="#" class="btn">Tag3</a> |  | ||||||
|                 <a href="#" class="btn">Tag4</a> |  | ||||||
|                 <a href="#" class="btn">Tag5</a> |  | ||||||
|                 <a href="#" class="btn">Tag6</a> |  | ||||||
|                 <a href="#" class="btn">Tag7</a> |  | ||||||
|                 <a href="#" class="btn">Tag8</a> |  | ||||||
|                 <a href="#" class="btn">Tag9</a> |  | ||||||
|                 <a href="#" class="btn">Tag10</a> |  | ||||||
|                 <a href="#" class="btn">Tag11</a> |  | ||||||
|                 <a href="#" class="btn">Tag12</a> |  | ||||||
|                 <a href="#" class="btn">Tag13</a> |  | ||||||
|                 <a href="#" class="btn">Tag14</a> |  | ||||||
|                 <a href="#" class="btn">Tag15</a> |  | ||||||
|                 <a href="#" class="btn">Tag16</a> |  | ||||||
|                 <a href="#" class="btn">Tag17</a> |  | ||||||
|                 <a href="#" class="btn">Tag18</a> |  | ||||||
|                 <a href="#" class="btn">Tag19</a> |  | ||||||
|                 <a href="#" class="btn">Tag20</a> |  | ||||||
|             </div> |  | ||||||
|             <div class="filter-clear"> |  | ||||||
|                 <a href="#" class="btn"><i class="icons-brush-large"></i>Clear/重置</a> |  | ||||||
|             </div> |  | ||||||
|         </div> |  | ||||||
|     </div> |  | ||||||
| </div> | </div> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,24 +1,6 @@ | ||||||
| <br /> |  | ||||||
| <br /> |  | ||||||
| <br /> |  | ||||||
| <br /> |  | ||||||
| 
 | 
 | ||||||
| <% content_for :secondary do %> |  | ||||||
|   <ul class="list"> |  | ||||||
| 	  <li><%= link_to t('bulletin.index'), panel_announcement_back_end_bulletins_path, :class => 'seclink2' %></li> |  | ||||||
|   </ul> |  | ||||||
| <% end -%> |  | ||||||
| 
 |  | ||||||
| <%= flash_messages %> |  | ||||||
| <h1><%= t('bulletin.new_announcement') %></h1> |  | ||||||
| <%= form_for @bulletin, :url => panel_announcement_back_end_bulletins_path do |f| %> | <%= form_for @bulletin, :url => panel_announcement_back_end_bulletins_path do |f| %> | ||||||
| 	<%= render :partial => 'form', :locals => {:f => f} %> | 	<%= render :partial => 'form', :locals => {:f => f} %> | ||||||
| <% end %> | <% end %> | ||||||
| 
 | 
 | ||||||
| <%= link_back %> | <%= link_back %> | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   |  | ||||||
|  <br /> |  | ||||||
|  <br /> |  | ||||||
|  <br /> |  | ||||||
|  | @ -8,6 +8,7 @@ Rails.application.routes.draw do | ||||||
|         resources :bulletin_categorys, :controller => 'bulletin_categorys' do |         resources :bulletin_categorys, :controller => 'bulletin_categorys' do | ||||||
|           match "quick_edit/:bulletin_category_id" => "bulletin_categorys#quick_edit" ,:as => :quick_edit |           match "quick_edit/:bulletin_category_id" => "bulletin_categorys#quick_edit" ,:as => :quick_edit | ||||||
|         end |         end | ||||||
|  |         resources :tags | ||||||
|       end |       end | ||||||
|       namespace :front_end do |       namespace :front_end do | ||||||
|         root :to => "bulletins#index" |         root :to => "bulletins#index" | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue