Announcement with UI to be modify and missing app_auth/module_auth UI

This commit is contained in:
chris committed 2013-05-08 21:23:30 +08:00
1 parent 41dadfb4e9
commit ae04f67924
79 files changed
+2376 -1191

No files matched your search

@@ -17,18 +17,49 @@ class Panel::Announcement::BackEnd::BulletinCategorysController < OrbitBackendCo
before_filter :for_app_sub_manager,:except => [:index,:get_categorys_json,:get_bulletins_json]
def index
@bulletin_categorys = get_categories_for_index("BulletinCategory")
@bulletin_categorys = get_categories_for_index("BulletinCategory").page(params[:page]).per(10)
#TODO 需要做 manager ,admin 才可以 all. 其他 available就好
@bulletin_category = BulletinCategory.new(:display => 'List')
@url = panel_announcement_back_end_bulletin_categorys_path
end
respond_to do |format|
format.html # index.html.erb
# format.xml { render :xml => @bulletins }
format.js
def new
@bulletin_category = BulletinCategory.new(:display => 'List')
render layout: false
end
def edit
@bulletin_category = BulletinCategory.find(params[:id])
render layout: false
end
def create
@bulletin_category = BulletinCategory.new(params[:bulletin_category])
if @bulletin_category.save
redirect_to action: :index
else
@bulletin_category = BulletinCategory.new(params[:module_tag])
flash.now[:error] = t('create.error.category')
render action: :new
end
end
def update
@bulletin_category = BulletinCategory.find(params[:id])
if @bulletin_category.update_attributes(params[:bulletin_category])
redirect_to action: :index
else
flash.now[:error] = t('update.error.category')
render action: :edit
end
end
def toggle
@bulletin_category = BulletinCategory.find(params[:id])
@bulletin_category.disable = @bulletin_category.disable ? false : true
@bulletin_category.save!
redirect_to action: :index
end
def get_categorys_json
categorys = BulletinCategory.all
data = Array.new
@@ -78,113 +109,4 @@ class Panel::Announcement::BackEnd::BulletinCategorysController < OrbitBackendCo
render :json => JSON.pretty_generate(data)
end
# GET /bulletins/1
# GET /bulletins/1.xml
def show
@bulletin_category = BulletinCategory.find(params[:id])
respond_to do |format|
format.html # show.html.erb
# format.xml { render :xml => @bulletin_category }
format.js
end
end
# GET /bulletins/new
# GET /bulletins/new.xml
def new
@bulletin_category = BulletinCategory.new(:display => 'List')
respond_to do |format|
format.html # new.html.erb
# format.xml { render :xml => @bulletin_category }
format.js
end
end
def quick_edit
# debugger
@bulletin_category = BulletinCategory.find(params[:bulletin_category_id])
@url = panel_announcement_back_end_bulletin_category_path(@bulletin_category)
respond_to do |format|
format.js
end
end
# GET /bulletins/1/edit
def edit
@bulletin_category = BulletinCategory.find(params[:id])
@url = panel_announcement_back_end_bulletin_category_path(@bulletin_category)
respond_to do |format|
format.html
format.js
end
end
# POST /bulletins
# POST /bulletins.xml
def create
@bulletin_category = BulletinCategory.new(params[:bulletin_category])
respond_to do |format|
if @bulletin_category.save
# format.html { redirect_to @bulletin_category, notice: 'Entry was successfully created.' }
format.html { redirect_to(panel_announcement_back_end_bulletin_categorys_url, :notice => t('announcement.create_bulletin_category_success')) }
# format.xml { render :xml => @bulletin_category, :status => :created, :location => @bulletin_category }
format.js
else
format.html { render :action => "new" }
# format.xml { render :xml => @bulletin_category.errors, :status => :unprocessable_entity }
format.js { render action: "new" }
end
end
end
# PUT /bulletins/1
# PUT /bulletins/1.xml
def update
@bulletin_category = BulletinCategory.find(params[:id])
@url = panel_announcement_back_end_bulletin_category_path(@bulletin_category)
respond_to do |format|
if @bulletin_category.update_attributes(params[:bulletin_category])
# format.html { redirect_to(panel_announcement_back_end_bulletin_category_url(@bulletin_category), :notice => t('announcement.update_bulletin_category_success')) }
# format.html { redirect_to(panel_announcement_back_end_bulletin_categorys_url, :notice => t('announcement.update_bulletin_category_success')) }
# format.xml { head :ok }
format.js
else
format.html { render :action => "edit" }
format.js { render :action => "edit" }
# format.xml { render :xml => @bulletin_category.errors, :status => :unprocessable_entity }
end
end
end
# DELETE /bulletins/1
# DELETE /bulletins/1.xml
def destroy
@bulletin_category = BulletinCategory.find(params[:id])
@bulletin_category.disable = @bulletin_category.disable ? false : true
if @bulletin_category.save!
respond_to do |format|
flash[:notice] = t("update.success_")
# flash[:error] += @bulletin_category.disable ? t(:enable) : t(disable)
format.html { redirect_to(panel_announcement_back_end_bulletin_categorys_url) }
# format.xml { head :ok }
format.js
end
else
flash[:error] = t("update.fail")
format.html { render :action => "index" }
end
end
end
@@ -110,59 +110,36 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
# POST /bulletins.xml
def create
@tags = get_tags
if params[:bulletin_link]
@bulletin = Bulletin.new(params[:bulletin])
@bulletin.deadline = nil if (@bulletin.deadline < @bulletin.postdate rescue nil)
@bulletin_link = BulletinLink.new(params[:bulletin_link])
@bulletin.create_user_id = current_user.id
@bulletin.update_user_id = current_user.id
if(is_manager? || is_admin?)
@bulletin.is_checked = true
@bulletin.is_rejected = false
@bulletin.de_pending
end
respond_to do |format|
if @bulletin_link.save
format.js { render 'create_bulletin_link' }
end
end
respond_to do |format|
if @bulletin.save
elsif params[:bulletin_file]
@bulletin_file = BulletinFile.new(params[:bulletin_file])
respond_to do |format|
if @bulletin_file.save
format.js { render 'create_bulletin_file' }
end
end
else
@bulletin = Bulletin.new(params[:bulletin])
@bulletin.deadline = nil if (@bulletin.deadline < @bulletin.postdate rescue nil)
@bulletin.create_user_id = current_user.id
@bulletin.update_user_id = current_user.id
if(is_manager? || is_admin?)
@bulletin.is_checked = true
@bulletin.is_rejected = false
@bulletin.de_pending
end
respond_to do |format|
if @bulletin.save
format.html { redirect_to(panel_announcement_back_end_bulletins_url, :notice => t('announcement.create_bulletin_success')) }
format.xml { render :xml => @bulletin, :status => :created, :location => @bulletin }
# format.js
format.js {
@info = {"success"=>"true","redirect_url"=>panel_announcement_back_end_bulletins_url}
flash[:notice] = t('bulletin.create_bulletin_success')
render "/shared/preview/after_create.js.erb"
}
else
format.html { render :action => "new" }
format.xml { render :xml => @bulletin.errors, :status => :unprocessable_entity }
format.js {
@info = {"success"=>"false","redirect_url"=>new_panel_announcement_back_end_bulletin_url(:bulletin => @bulletin)}
session[:in_validate_object] = @bulletin
render "/shared/preview/after_create.js.erb"
}
end
format.html { redirect_to(panel_announcement_back_end_bulletins_url, :notice => t('announcement.create_bulletin_success')) }
format.xml { render :xml => @bulletin, :status => :created, :location => @bulletin }
# format.js
format.js {
@info = {"success"=>"true","redirect_url"=>panel_announcement_back_end_bulletins_url}
flash[:notice] = t('bulletin.create_bulletin_success')
render "/shared/preview/after_create.js.erb"
}
else
format.html { render :action => "new" }
format.xml { render :xml => @bulletin.errors, :status => :unprocessable_entity }
format.js {
@info = {"success"=>"false","redirect_url"=>new_panel_announcement_back_end_bulletin_url(:bulletin => @bulletin)}
session[:in_validate_object] = @bulletin
render "/shared/preview/after_create.js.erb"
}
end
end
end
@@ -19,6 +19,8 @@ class BulletinCategory
field :title, localize: true
has_many :bulletins
validates :title, :at_least_one => true
def pp_object
title
@@ -1,20 +1,20 @@
<tr id="<%= dom_id bulletin_category %>" class="with_action">
<tr class="<%= 'disable' if bulletin_category.disable %>">
<% @site_valid_locales.each_with_index do |locale, i| %>
<td>
<%= bulletin_category.key %>
<div class="quick-edit">
<ul class="nav nav-pills hide">
<% if is_admin?%>
<li><%= link_to t(:edit), edit_panel_announcement_back_end_bulletin_category_path(bulletin_category), :remote => true %></li>
<li><%= link_to show_toggle_archive_btn(bulletin_category) , panel_announcement_back_end_bulletin_category_path(bulletin_category), :confirm => t(:sure?), :method => :delete, :remote => true,:class=> "archive_toggle" %></li>
<% end %>
<%if is_manager? || is_admin? %>
<li><%= show_anc_cate_permission_link(bulletin_category) %></li>
<% end %>
</ul>
</div>
<%= bulletin_category.title_translations[locale] %>
<% if i == 0 %>
<div class="quick-edit">
<ul class="nav nav-pills">
<% if is_admin?%>
<li><%= link_to t(:edit), edit_panel_announcement_back_end_bulletin_category_path(bulletin_category), class: "open-slide" %></li>
<li><%= link_to show_toggle_archive_btn(bulletin_category) , toggle_panel_announcement_back_end_bulletin_category_path(bulletin_category), method: :post, remote: true, class: "archive_toggle" %></li>
<% end %>
<% if is_manager? || is_admin? %>
<li><%= show_anc_cate_permission_link(bulletin_category) %></li>
<% end %>
</ul>
</div>
<% end %>
</td>
<% @site_valid_locales.each do |locale| %>
<td><%= bulletin_category.title_translations[locale] rescue nil %></td>
<% end %>
</tr>
<% end %>
</tr>
@@ -0,0 +1,10 @@
<%= form_for @bulletin_category, :url => panel_announcement_back_end_bulletin_category_path(@bulletin_category), remote: true do |f| %>
<fieldset>
<legend><%= t(:edit_category) %></legend>
<%= render :partial => 'form', :locals => {:f => f} %>
</fieldset>
<div class="form-actions">
<a href="javascript:$.pageslide.close()" class="btn btn-small"><%= t(:cancel) %></a>
<%= f.submit t(:update_), class: 'btn btn-primary btn-small' %>
</div>
<% end %>
@@ -1,37 +1,9 @@
<% # encoding: utf-8 %>
<%= flash_messages %>
<%= f.error_messages %>
<%= form_for(@bulletin_category, :remote => true, :url => @url) do |f| %>
<h2><%= @bulletin_category.new_record? ? t(:add) : t(:edit) %></h2>
<div id="widget-title">
<%= f.label :key, t(:key) %>
<%= f.text_field :key %>
</div>
<div id="widget-title">
<%= f.fields_for :title_translations do |f| %>
<% @site_valid_locales.each do |locale| %>
<div class="control-group">
<%= label_tag "name-#{locale}", "#{t(:name)}-#{I18nVariable.from_locale(locale)}", :class => 'control-label' %>
<div class="controls">
<%= f.text_field locale, :class => 'input-xxlarge', :value => (@bulletin_category.title_translations[locale] rescue nil) %>
</div>
</div>
<% end %>
<% end %>
</div>
<div id="widget-title">
<%#= f.label :display %>
<%#= f.radio_button :display, "List" List%>
<%#= f.radio_button :display, "Picture" Picture%>
<%# <br />顯示方式是設定在前台頁面時,資訊所呈現的樣式 %>
</div>
<div class="form-actions pagination-right">
<%= f.submit t('submit'), :class=>'btn btn-primary' %>
</div>
<%= f.fields_for :title_translations do |f| %>
<% @site_valid_locales.each do |locale| %>
<%= label_tag "name-#{locale}", "#{t(:name)} (#{I18nVariable.from_locale(locale)})" %>
<%= f.text_field locale, :class => 'input-large', :value => (@bulletin_category.title_translations[locale] rescue ''), placeholder: t(:name) %>
<% end %>
<% end %>
@@ -0,0 +1,21 @@
<table class="table main-list">
<thead>
<tr class="sort-header">
<% @site_valid_locales.each do |locale| %>
<th><a href="#"><%= t(:_locale, :locale => locale) %></a></th>
<% end %>
</tr>
</thead>
<tbody>
<%= render :partial => 'bulletin_category', :collection => @bulletin_categorys %>
</tbody>
</table>
<div class="bottomnav clearfix">
<div class="action pull-right">
<%= link_to content_tag(:i, nil, class: "icons-plus") + " " + t(:add), new_panel_announcement_back_end_bulletin_category_path, class: "btn btn-primary open-slide" %>
</div>
<div class="pagination pagination-centered">
<%= paginate @bulletin_categorys %>
</div>
</div>
@@ -0,0 +1,10 @@
<%= form_for @bulletin_category, :url => panel_announcement_back_end_bulletin_categorys_path, remote: true do |f| %>
<fieldset>
<legend><%= t(:add_category) %></legend>
<%= render :partial => 'form', :locals => {:f => f} %>
</fieldset>
<div class="form-actions">
<a href="javascript:$.pageslide.close()" class="btn btn-small"><%= t(:cancel) %></a>
<%= f.submit t(:create_), class: 'btn btn-primary btn-small' %>
</div>
<% end %>
@@ -1,2 +0,0 @@
$('<%= j render :partial => 'bulletin_category', :collection => [@bulletin_category] %>').appendTo('#bulletin_categorys').hide().fadeIn();
$("#new_bulletin_category")[0].reset();
@@ -1 +0,0 @@
$("#<%= dom_id @bulletin_category %>").find(".archive_toggle").text("<%= show_toggle_archive_btn(@bulletin_category) %> ");
@@ -1,7 +1 @@
<h1><%= t('announcement.editing_announcement_category') %></h1>
<%= form_for @bulletin_category, :url => panel_announcement_back_end_bulletin_category_path(@bulletin_category) do |f| %>
<%= render :partial => 'form', :locals => {:f => f} %>
<% end %>
<%= link_back %>
<%= render 'edit' %>
@@ -1 +1 @@
$("#form > form").replaceWith("<%= j render "form" %>");
$('#view-page .content').html("<%= j render 'edit' %>");
@@ -1,41 +1,3 @@
<%= flash_messages %>
<div id="filter" class="subnav">
<div class="filters">
<div id="sort_headers" class="table-label">
<table class="table main-list">
<thead>
<tr>
<th class="span2"><%= t(:key) %></th>
<% @site_valid_locales.each do |locale| %>
<th class="span2"><%= I18nVariable.first(:conditions => {:key => locale})[I18n.locale] %></th>
<% end %>
</tr>
</thead>
</table>
</div>
</div>
</div>
<table id="bulletin_categorys" class="table main-list">
<thead>
<tr>
<th class="span2"></th>
<% @site_valid_locales.each do |locale| %>
<th class="span2"></th>
<% end %>
</tr>
</thead>
<tbody>
<%= render :partial => 'bulletin_category', :collection => @bulletin_categorys %>
</tbody>
</table>
<div id="form"><%= render :partial => "form" if is_manager?%></div>
<div id="categories_index">
<%= render 'index' %>
</div>
@@ -0,0 +1,3 @@
$("#categories_index").html("<%= j render 'index' %>")
$.pageslide.close();
openSlide();
@@ -1,19 +1 @@
<% content_for :secondary do %>
<%= render :partial => '/panel/announcement/back_end/announcement_secondary' %>
<% end -%>
<%= flash_messages %>
<br />
<br />
<br />
<br />
<br />
<h1><%= t('announcement.new_bulletin_category') %></h1>
<%= form_for @bulletin_category, :url => panel_announcement_back_end_bulletin_categorys_path do |f| %>
<%= render :partial => 'form', :locals => {:f => f} %>
<% end %>
<%= link_back %>
<%= render 'new' %>
@@ -1 +1 @@
$("#form > form").replaceWith("<%= j render "form" %>");
$('#view-page .content').html("<%= j render 'new' %>");
@@ -1,4 +0,0 @@
$("#<%= dom_id @bulletin_category %>").replaceWith("<%= j render :partial => 'bulletin_category', :collection => [@bulletin_category] %>");
<% @bulletin_category = BulletinCategory.new(:display => 'List') # reset for new form %>
$(".edit_bulletin_category").replaceWith("<%= j render "form" %>")
$(".new_bulletin_category")[0].reset();
@@ -1,51 +0,0 @@
<% # encoding: utf-8 %>
<%= form_for @bulletin_file, :url => @file_url, :html => {:id => 'ajaxForm', :multipart => true} do |f| %>
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h3><%= (@bulletin_file.new_record? ? t(:add) : t(:edit)) %></h3>
</div>
<div class="modal-body form-horizontal">
<div class="control-group">
<div class="controls">
<%= f.file_field :file %>
</div>
</div>
<%= f.fields_for :title_translations do |f| %>
<% @site_valid_locales.each do |locale| %>
<div class="control-group">
<label for="file-<%= locale %>" class="control-label"><%= t(:name) %> <%= I18nVariable.first(:conditions => {:key => locale})[I18n.locale] %></label>
<div class="controls">
<%= f.text_field locale, :id => "file-#{locale}", :class => "input-xlarge", :value => (@bulletin_file.title_translations[locale] rescue nil) %>
</div>
</div>
<% end %>
<% end %>
<%= f.fields_for :description_translations do |f| %>
<% @site_valid_locales.each do |locale| %>
<div class="control-group">
<label for="file-<%= locale %>" class="control-label"><%= t(:description) %> <%= I18nVariable.first(:conditions => {:key => locale})[I18n.locale] %></label>
<div class="controls">
<%= f.text_field locale, :id => "file-#{locale}", :class => "input-xlarge", :value => (@bulletin_file.description_translations[locale] rescue nil) %>
</div>
</div>
<% end %>
<% end %>
</div>
<div class="modal-footer">
<%= hidden_field_tag 'bulletin_file[bulletin_id]', @bulletin_file.bulletin_id %>
<a class="btn btn-primary" id='ajax_form_submit'><%= t('submit')%></a>
<a class="btn" data-dismiss="modal"><%= t('cancel')%></a>
</div>
<% end %>
@@ -1,36 +0,0 @@
<% # encoding: utf-8 %>
<%= form_for(@bulletin_link, :remote => true, :url => @link_url) do |f| %>
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h3><%= (@bulletin_link.new_record? ? t(:add) : t(:edit)) %></h3>
</div>
<div class="modal-body form-horizontal">
<div class="control-group">
<label for="http" class="control-label"><%= t(:url) %></label>
<div class="controls">
<%= f.text_field :url %>
</div>
</div>
<%= f.fields_for :title_translations do |f| %>
<% @site_valid_locales.each do |locale| %>
<div class="control-group">
<%= label_tag "link-#{locale}", "#{t(:name)}-#{I18nVariable.from_locale(locale)}", :class => 'control-label' %>
<div class="controls">
<%#= f.text_field locale, :class => 'input-xxlarge' %>
<%= f.text_field locale, :class => 'control-label', :value => (@bulletin_link.title_translations[locale] rescue nil) %>
</div>
</div>
<% end %>
<% end %>
</div>
<div class="modal-footer">
<%= hidden_field_tag 'bulletin_link[bulletin_id]', @bulletin_link.bulletin_id %>
<%= f.submit t('submit'), :class=>'btn btn-primary' %>
<a class="btn" data-dismiss="modal"><%= t('cancel')%></a>
<% end %>
@@ -1,15 +0,0 @@
<thead>
<tr>
<th class="span1"></th>
<th class="span1-2"></th>
<th class="span1-2"></th>
<th class="span7"></th>
<th class="span1-2"></th>
<th class="span1-2"></th>
<th class="span1-2"></th>
<th class="span1-3"></th>
</tr>
</thead>
<tbody id="tbody_bulletins" class="sort-holder">
<%= render :partial => 'bulletin', :collection => @bulletins %>
</tbody>
@@ -1,3 +0,0 @@
<div class="filter-clear">
<%= link_to content_tag(:i, nil, :class => 'icons-cycle') + t(:clear), panel_announcement_back_end_bulletins_path(:filter => @filter, :sort => params[:sort], :direction => params[:direction], :clear => true, :type => type), :class => "btn btn-small js_history" %>
</div>
@@ -1,37 +0,0 @@
<div id='add_bulletin_files'>
<% bulletin_files.each do | bulletin_file | %>
<%= fields_for 'bulletin[bulletin_files][]', bulletin_file, :index => nil do |f| %>
<div id="<%= "bulletin_#{bulletin_file.id}" if !bulletin_file.new_record? %>" class='list_item'>
<div class="field">
<%= f.label :file %>
<%#= file_field_tag 'bulletin[file]' %>
<%= f.file_field :file %>
<%= f.label :file_title %>
<%= f.text_field :title %>
<%= f.label :file_description %>
<%= f.text_field :description %>
<span class="action">
<% if bulletin_file.new_record? %>
<a href="#" class="delete"><%= t(:delete_) %></a>
<% else %>
<%= f.hidden_field :id %>
<% if bulletin_file.is_built_in? %>
<a href="#" class="switch" id="<%= bulletin_file.id %>"></a>
<% else %>
<a href="#" class="remove_existing_record"><%= t(:delete_) %></a>
<%= f.hidden_field :_destroy, :value => nil, :class => 'should_destroy' %>
<% end %>
<% end %>
</span>
</div>
</div>
<% end %>
<% end %>
</div>
@@ -1,6 +0,0 @@
<div class="accordion-inner" data-toggle="buttons-checkbox">
<% @bulletin_categories.each do |category| -%>
<%= link_to category.title, panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'categories', :id => category.id}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('categories', category.id)}" %>
<% end -%>
</div>
<%= render :partial => 'clear_filters', :locals => {:type => 'categories'} %>
@@ -1,9 +0,0 @@
<div class="accordion-inner" data-toggle="buttons-checkbox">
<%= link_to t(:top), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_top'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('status', 'is_top')}" %>
<%= link_to t(:hot), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_hot'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('status', 'is_hot')}" %>
<%= link_to t(:hidden), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_hidden'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('status', 'is_hidden')}" unless(is_guest?)%>
<%= link_to t(:pending), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_pending'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('status', 'is_pending')}" if(is_manager?)%>
<%= link_to t(:passed), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_checked'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('status', 'is_checked')}" if(is_manager?)%>
<%= link_to t(:rejected), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_rejected'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('status', 'is_rejected')}" if(is_manager?)%>
</div>
<%= render :partial => 'clear_filters', :locals => {:type => 'status'} %>
@@ -1,6 +0,0 @@
<div class="accordion-inner" data-toggle="buttons-checkbox">
<% @tags.each do |tag| -%>
<%= link_to tag.name, panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'tags', :id => tag.id}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('tags', tag.id)}" %>
<% end -%>
</div>
<%= render :partial => 'clear_filters', :locals => {:type => 'tags'} %>
@@ -1,305 +1,290 @@
<% # encoding: utf-8 %>
<% content_for :page_specific_javascript do -%>
<%= javascript_include_tag "inc/modal-preview" %>
<% end -%>
<!--Widget start-->
<%= f.error_messages %>
<div id="sub-wiget">
<% content_for :page_specific_css do %>
<%= stylesheet_link_tag "lib/main-forms" %>
<%= stylesheet_link_tag "lib/fileupload" %>
<% end %>
<% content_for :page_specific_javascript do %>
<%= javascript_include_tag "lib/bootstrap-fileupload" %>
<%= javascript_include_tag "lib/bootstrap-datetimepicker" %>
<%#= javascript_include_tag "lib/datetimepicker/date.time.picker.js" %>
<%= javascript_include_tag "lib/datetimepicker/datetimepicker.js" %>
<%#= javascript_include_tag "lib/ckeditor/ckeditor.js" %>
<%= javascript_include_tag "lib/modal-preview" %>
<% end %>
<div id="widget-picture" class="widget-box">
<div class="widget-action clear tip" title="Upload pictures">
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
</div>
<h3 class="widget-title"><i class="icons-pictures"></i><%= t('announcement.picture') %></h3>
<div class="widget-content clear">
<div class="control-group">
<!-- <img class="pull-left upload-picture" src="/assets/default-img.png" /> -->
<div class="upload-picture">
<% if @bulletin.image %>
<%= image_tag @bulletin.image rescue ''%>
<% else %>
<img class="pull-left upload-picture" src="/assets/default-img.png" />
<% end %>
<%= f.error_messages %>
<!-- Input Area -->
<div class="input-area">
<!-- Module Tabs -->
<div class="nav-name"><strong><%= t(:module) %></strong></div>
<ul class="nav nav-pills module-nav">
<li class="active">
<a href="#basic" data-toggle="tab"><%= t(:basic) %></a>
</li>
<% if show_form_status_field(@bulletin) %>
<li>
<a href="#status" data-toggle="tab"><%= t(:status) %></a>
</li>
<% end %>
<li>
<a href="#tag" data-toggle="tab"><%= t(:tags) %></a>
</li>
<li>
<a href="#imageupload" data-toggle="tab"><%= t(:image) %></a>
</li>
</ul>
<!-- Module -->
<div class="tab-content module-area">
<!-- Basic Module -->
<div class="tab-pane fade in active" id="basic">
<!-- Category -->
<div class="control-group">
<label class="control-label muted"><%= t(:category) %></label>
<div class="controls">
<%= f.select :bulletin_category_id, @bulletin_categorys.collect{|t| [ t.title, t.id ]} %>
</div>
</div>
<!-- Date Time Picker -->
<div class="control-group">
<%= f.datetime_picker :postdate, :picker_type => 'separated', :label => t(:start) %>
</div>
<div class="control-group">
<%= f.datetime_picker :deadline, :picker_type => 'separated', :label => t(:end) %>
</div>
</div>
<!-- Status Module -->
<% if show_form_status_field(@bulletin) %>
<div class="tab-pane fade" id="status">
<!-- Status -->
<div class="control-group">
<label class="control-label muted"><%= t(:status) %></label>
<div class="controls" data-toggle="buttons-checkbox">
<label class="checkbox inline btn <%= 'active' if @bulletin.is_top? %>">
<%= f.check_box :is_top %> <%= t(:top) %>
</label>
<label class="checkbox inline btn <%= 'active' if @bulletin.is_hot? %>">
<%= f.check_box :is_hot %> <%= t(:hot) %>
</label>
<label class="checkbox inline btn <%= 'active' if @bulletin.is_hidden? %>">
<%= f.check_box :is_hidden %> <%= t(:hide) %>
</label>
</div>
<span class="alert widgetInfo"><%= t("ad.widget_info_for_ad_image_size", :best_size=> "290px x 150px") %></span>
<div class="controls file-upload input-prepend">
<%= t(:browse) %>
<%= f.file_field :image, :id => "input-upload", :class => '', :onchange => "document.getElementById('fu').innerHTML = this.form.fu.value = this.value;" %>
<!-- <span id='fu' class="file-name"></span>
<br>
<input name='fu' class="input-medium" type="text">
<br> -->
<% if @bulletin.image.file %>
<%= f.check_box :remove_image %>
<%= t('delete.file') %>
<% end %>
</div>
</div>
</div>
</div>
</div>
<div id="widget-date" class="widget-box widget-size-300">
<div class="widget-action clear tip" title="Set the announcement to start and end dates">
<a href="#" class="action"><i class="icon-exclamation-sign icon-white"></i></a>
</div>
<h3 class="widget-title"><i class="icons-calendar"></i><%= t(:date_) %></h3>
<div class="widget-content clear">
<div class="control-group">
<%= f.datetime_picker :postdate, :picker_type => 'separated', :label => t(:start) %>
</div>
<div class="control-group">
<%= f.datetime_picker :deadline, :picker_type => 'separated', :label => t(:end) %>
</div>
</div>
</div>
</div>
<% end %>
<% if show_form_status_field(@bulletin)%>
<div id="widget-status" class="widget-box widget-size-300">
<div class="widget-action clear tip" title="Setting the announcement state">
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
</div>
<h3 class="widget-title"><i class="icons-star"></i><%= t(:status) %></h3>
<div class="widget-content clear">
<div class="controls">
<%= content_tag :label,:class => "checkbox inline" do -%>
<%= f.check_box :is_top %>
<%= t('top') %>
<% end -%>
<%= content_tag :label,:class => "checkbox inline" do -%>
<%= f.check_box :is_hot %>
<%= t('hot') %>
<% end -%>
<%= content_tag :label,:class => "checkbox inline" do -%>
<%= f.check_box :is_hidden %>
<%= t('hide') %>
<% end -%>
</div>
</div>
</div>
<% end %>
<% if @bulletin.is_rejected %>
<div id="widget-rejected" class="widget-box widget-size-300">
<div class="widget-action clear tip" title="Rejected Report">
<a class="action"><i class="icon-cog icon-white"></i></a>
</div>
<h3 class="widget-title"><i class="icons-tag"></i><%= t('approval.stat') %></h3>
<div class="widget-content clear form-horizontal">
<%= @bulletin.not_checked_reason rescue t("rejected_reason_empty") %>
</div>
</div>
<% end %>
<div id="widget-tags" class="widget-box widget-size-300">
<div class="widget-action clear tip" title="Setting">
<a class="action"><i class="icon-cog icon-white"></i></a>
</div>
<h3 class="widget-title"><i class="icons-tag"></i><%= t(:tags) %></h3>
<div class="widget-content clear form-horizontal">
<p>
<% @tags.each do |tag| %>
<%= content_tag :label,:class => "checkbox inline" do -%>
<%= check_box_tag 'bulletin[tag_ids][]', tag.id, @bulletin.tag_ids.include?(tag.id) %>
<%= tag.name %>
<%= hidden_field_tag 'bulletin[tag_ids][]', '' %>
<% end %>
<% end %>
</p>
</div>
</div>
<% if params[:action] != 'new' %>
<div id="widget-audit" class="widget-box">
<div class="widget-action clear tip" title="A">
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
</div>
</div>
<% elsif current_user.admin? %>
<%= f.hidden_field :is_checked,:value => true%>
<% end %>
</div>
<!-- Tag Module -->
<div class="tab-pane fade" id="tag">
<!--Wiget End-->
<!--Post Start-->
<!-- Tag -->
<div class="control-group">
<label class="control-label muted"><%= t(:tags) %></label>
<div class="controls" data-toggle="buttons-checkbox">
<% @tags.each do |tag| %>
<label class="checkbox inline btn <%= 'active' if @bulletin.tag_ids.include?(tag.id) %>">
<%= check_box_tag 'bulletin[tag_ids][]', tag.id, @bulletin.tag_ids.include?(tag.id) %> <%= tag.name %>
<%= hidden_field_tag 'bulletin[tag_ids][]', '' %>
</label>
<% end %>
</div>
</div>
<div id="post-body">
<div id="post-body-content" class="clear">
</div>
<%#= f.label :unit_list_for_anc%>
<%#= f.select :unit_list_for_anc_id,@unit_list_for_anc.collect{|t| [ t.title, t.id ]}, {}, :class => "input-medium" %>
<%= f.label :category,t(:category)%>
<%= f.select :bulletin_category_id, @bulletin_categorys.collect{|t| [ t.title, t.id ]}, {}, :class => "input-medium" %>
<ul class="nav nav-tabs">
<%# @site_valid_locales.each_with_index do |locale, i| %>
<% @site_valid_locales.each_with_index do |locale, i| %>
<li <%= ( i == 0 ) ? " class=active" : '' %>><a data-toggle="tab" href=".<%= locale %>"><%= I18nVariable.from_locale(locale) %></a></li>
<% end %>
</ul>
<div class="tab-content">
<%# @site_valid_locales.each_with_index do |locale, i| %>
<% @site_valid_locales.each_with_index do |locale, i| %>
<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>">
<!-- Images Module -->
<div class="tab-pane fade" id="imageupload">
<div class="title">
<%= f.label :title ,t(:title)%>
<%= f.fields_for :title_translations do |f| %>
<%= I18nVariable.from_locale(locale) %>
<%= f.text_field locale, :class=>'post-title', :value => (@bulletin.title_translations[locale] rescue nil) %>
<% end %>
</div>
<!-- Images Upload -->
<div class="control-group">
<label class="control-label muted"><%= t(:image) %></label>
<div class="controls">
<!-- if this page editing please add class "fileupload-edit" -->
<div class="fileupload fileupload-new clearfix" data-provides="fileupload">
<div class="fileupload-new thumbnail pull-left">
<% if @bulletin.image.file %>
<%= image_tag @bulletin.image %>
<% else %>
<img src="http://www.placehold.it/50x50/EFEFEF/AAAAAA" />
<% end %>
</div>
<div class="fileupload-preview fileupload-exists thumbnail pull-left"></div>
<span class="btn btn-file">
<span class="fileupload-new"><%= t(:select_image) %></span>
<span class="fileupload-exists"><%= t(:change) %></span>
<%= f.file_field :image %>
</span>
<a href="#" class="btn fileupload-exists" data-dismiss="fileupload"><%= t(:cancel) %></a>
<label class="checkbox fileupload-remove">
<input type="checkbox"> <%= t(:remove) %>
</label>
<% if @bulletin.image.file %>
<%= f.check_box :remove_image %>
<%= t('delete') %>
<% end %>
</div>
</div>
</div>
<div class="editor">
<%= f.label :subtitle, t(:subtitle) %>
<%= f.fields_for :subtitle_translations do |f| %>
<%= I18nVariable.from_locale(locale) %>
<%= f.text_area locale, :rows => 5, :style=>"width:100%", :value => (@bulletin.subtitle_translations[locale] rescue nil) %>
<% end %>
</div>
<div class="editor">
<%= f.label :text ,t(:text)%>
<%= f.fields_for :text_translations do |f| %>
<%= I18nVariable.from_locale(locale) %>
<%= f.text_area locale, :style=>"width:100%", :class => 'tinymce_textarea', :value => (@bulletin.text_translations[locale] rescue nil) %>
<% end %>
</div>
</div>
<% end %>
</div>
<div class="main-wiget">
<div id="widget-link" class="widget-box">
<div class="widget-action clear tip" title="Add a reference link">
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
</div>
<h3 class="widget-title"><i class="icons-link"></i><%= t(:link) %></h3>
<div class="widget-content">
<div id='bulletin_links' class="bulletin_links_block">
<table class="table table-condensed">
<thead>
<tr>
<th><%= t('announcement.url') %></th>
<th><%= t('announcement.link_name') %></th>
<th class="span1"></th>
</tr>
</thead>
<tfoot>
<tr>
<td style="text-align:center" colspan="4">
<div id='add_bulletin_link' class="info_input bulletin_links_block">
<%= hidden_field_tag 'bulletin_link_field_count', @bulletin.bulletin_links.count %>
<a class="add"><span class="btn btn-primary btn-small"><i class="icon-plus icon-white"></i><%= t(:add) %></span></a>
</div>
</td>
</tr>
</tfoot>
<tbody>
<% @bulletin.bulletin_links.each_with_index do |bulletin_link, i| %>
<%#= fields_for "bulletin[bulletin_links][]", bulletin_link do |f| %>
<%= f.fields_for :bulletin_links, bulletin_link do |f| %>
<%= render :partial => 'form_bulletin_link', :object => bulletin_link, :locals => {:f => f, :i => i} %>
<% end %>
<% end %>
</tbody>
</table>
</div>
</div>
</div>
<div id="widget-file" class="widget-box">
<div class="widget-action clear tip" title="Added to the file">
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
</div>
<h3 class="widget-title"><i class="icons-paperclip"></i><%= t('announcement.file') %></h3>
<div class="widget-content">
<div id='bulletin_files' class="bulletin_files_block">
<table class="table table-condensed">
<thead>
<tr>
<th><%= t('announcement.selected_file') %></th>
<th><%= t('announcement.file_name') %></th>
<th><%= t('announcement.file_description') %></th>
<th class="span1"></th>
</tr>
</thead>
<tfoot>
<tr>
<td style="text-align:center" colspan="4">
<div id='add_bulletin_file' class="info_input bulletin_files_block">
<%= hidden_field_tag 'bulletin_file_field_count', @bulletin.bulletin_files.count %>
<a class="add"><span class="btn btn-primary btn-small"><i class="icon-plus icon-white"></i><%= t(:add) %></span></a>
<p><%= t("sys.limit_of_upload_file_size",:best_size => '3MB') %></p>
<p><%= t("sys.preview_only_for_img") %></p>
</div>
</td>
</tr>
</tfoot>
<tbody>
<% @bulletin.bulletin_files.each_with_index do |bulletin_file, i| %>
<%#= fields_for "bulletin[bulletin_files][]", bulletin_file do |f| %>
<%= f.fields_for :bulletin_files, bulletin_file do |f| %>
<%= render :partial => 'form_bulletin_file', :object => bulletin_file, :locals => {:f => f, :i => i} %>
<% end %>
<% end %>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<!--Post End-->
</div>
</div>
<div class="form-actions">
<%= button_tag t("preview"), :id=>"button_for_preview", :name=>"commit",:class=>'btn post_preview two_btn',:type=>:button,:url=>preview_panel_announcement_back_end_bulletins_path %>
<%= f.submit t('submit'), :class=>'btn btn-primary two_btn' %>
<%= link_to t('cancel'), get_go_back, :class=>"btn" %>
</div>
</div>
<!-- Language Tabs -->
<div class="nav-name"><strong><%= t(:language) %></strong></div>
<ul class="nav nav-pills language-nav">
<% @site_valid_locales.each_with_index do |locale, i| %>
<li class="<%= 'active' if i == 0 %>">
<a data-toggle="tab" href=".<%= locale %>"><%= I18nVariable.from_locale(locale) %></a>
</li>
<% end %>
</ul>
<!-- Language -->
<div class="tab-content language-area">
<% @site_valid_locales.each_with_index do |locale, i| %>
<div class="<%= locale %> tab-pane fade <%= ( i == 0 ) ? "in active" : '' %>">
<!-- Title-->
<div class="control-group input-title">
<label class="control-label muted"><%= t(:title) %></label>
<div class="controls">
<%= f.fields_for :title_translations do |f| %>
<%= f.text_field locale, class: "input-block-level", placeholder: t(:title), value: (@bulletin.title_translations[locale] rescue nil) %>
<% end %>
</div>
</div>
<!-- Sub Title -->
<div class="control-group input-subtitle">
<label class="control-label muted"><%= t(:subtitle) %></label>
<div class="controls">
<div class="textarea">
<%= f.fields_for :subtitle_translations do |f| %>
<%= f.text_area locale, rows: 2, class: "input-block-level", value: (@bulletin.subtitle_translations[locale] rescue nil) %>
<% end %>
</div>
</div>
</div>
<!-- Content -->
<div class="control-group input-content">
<label class="control-label muted"><%= t(:content) %></label>
<div class="controls">
<div class="textarea">
<%= f.fields_for :text_translations do |f| %>
<%= f.text_area locale, rows: 5, class: "ckeditor input-block-level", id: "content_#{locale}", name: "content_#{locale}", :value => (@bulletin.text_translations[locale] rescue nil) %>
<% end %>
</div>
</div>
</div>
</div>
<% end %>
<!-- Link -->
<div class="control-group">
<label class="control-label muted"><%= t(:link) %></label>
<div class="controls add-input">
<!-- Exist -->
<% if @bulletin && !@bulletin.bulletin_links.blank? %>
<div class="exist">
<% @bulletin.bulletin_links.each_with_index do |bulletin_link, i| %>
<%= f.fields_for :bulletin_links, bulletin_link do |f| %>
<%= render :partial => 'form_link', :object => bulletin_link, :locals => {:f => f, :i => i} %>
<% end %>
<% end %>
<hr>
</div>
<% end %>
<!-- Add -->
<div class="add-target">
</div>
<p class="add-btn">
<%= hidden_field_tag 'bulletin_link_field_count', @bulletin.bulletin_links.count %>
<a id="add_link" class="trigger btn btn-small btn-primary"><i class="icons-plus"></i> <%= t(:add) %></a>
</p>
</div>
</div>
<!-- File -->
<div class="control-group">
<label class="control-label muted"><%= t(:file_) %></label>
<div class="controls">
<!-- Exist -->
<% if @bulletin && !@bulletin.bulletin_files.blank? %>
<div class="exist">
<% @bulletin.bulletin_files.each_with_index do |bulletin_file, i| %>
<%= f.fields_for :bulletin_files, bulletin_file do |f| %>
<%= render :partial => 'form_file', :object => bulletin_file, :locals => {:f => f, :i => i} %>
<% end %>
<% end %>
<hr>
</div>
<% end %>
<!-- Add -->
<div class="add-target">
</div>
<p class="add-btn">
<%= hidden_field_tag 'bulletin_file_field_count', @bulletin.bulletin_files.count %>
<a id="add_file" class="trigger btn btn-small btn-primary"><i class="icons-plus"></i> <%= t(:add) %></a>
</p>
</div>
</div>
</div>
</div>
<!-- Form Actions -->
<div class="form-actions">
<%= f.submit t('submit'), class: 'btn btn-primary' %>
<%= button_tag t("preview"), id: "button_for_preview", name: "commit", class: 'btn post_preview', type: :button, url: preview_panel_announcement_back_end_bulletins_path %>
<%= link_to t('cancel'), get_go_back, :class=>"btn" %>
</div>
<% content_for :page_specific_javascript do %>
<%= javascript_include_tag "bulletin_form" %>
<%= javascript_include_tag "inc/jquery.imagesloaded.js" %>
<script>
$(document).ready(function() {
$('#add_bulletin_link a.add').live('click', function(){
var new_id = $(this).prev().attr('value');
var old_id = new RegExp("new_bulletin_links", "g");
$(this).prev().attr('value', parseInt(new_id) + 1);
$(this).parents('table').append(("<%= escape_javascript(add_attribute 'form_bulletin_link', f, :bulletin_links) %>").replace(old_id, new_id));
});
$('#add_bulletin_file a.add').live('click', function(){
var new_id = $(this).prev().attr('value');
var old_id = new RegExp("new_bulletin_files", "g");
$(this).prev().attr('value', parseInt(new_id) + 1);
$(this).parents('table').append(("<%= escape_javascript(add_attribute 'form_bulletin_file', f, :bulletin_files) %>").replace(old_id, new_id));
});
$('.for_preview').popover({ html : true });
});
</script>
<% end %>
<script>
$(document).ready(function() {
$(document).on('click', '#add_link', function(){
var new_id = $(this).prev().attr('value');
var old_id = new RegExp("new_bulletin_links", "g");
$(this).prev().attr('value', parseInt(new_id) + 1);
$(this).parent().siblings('.add-target').append(("<%= escape_javascript(add_attribute 'form_link', f, :bulletin_links) %>").replace(old_id, new_id));
});
$(document).on('click', '#add_file', function(){
var new_id = $(this).prev().attr('value');
var old_id = new RegExp("new_bulletin_files", "g");
$(this).prev().attr('value', parseInt(new_id) + 1);
$(this).parent().siblings('.add-target').append(("<%= escape_javascript(add_attribute 'form_file', f, :bulletin_files) %>").replace(old_id, new_id));
});
$('.for_preview').popover({ html : true });
$(document).on('click', '.delete_link', function(){
$(this).parents('.input-prepend').remove();
});
$(document).on('click', '.remove_existing_record', function(){
if(confirm("<%= I18n.t(:sure?)%>")){
$(this).next('.should_destroy').attr('value', 1);
$(this).parents('.start-line').hide();
}
});
});
</script>
<% end %>
@@ -0,0 +1,305 @@
<% # encoding: utf-8 %>
<% content_for :page_specific_javascript do -%>
<%= javascript_include_tag "inc/modal-preview" %>
<% end -%>
<!--Widget start-->
<%= f.error_messages %>
<div id="sub-wiget">
<div id="widget-picture" class="widget-box">
<div class="widget-action clear tip" title="Upload pictures">
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
</div>
<h3 class="widget-title"><i class="icons-pictures"></i><%= t('announcement.picture') %></h3>
<div class="widget-content clear">
<div class="control-group">
<!-- <img class="pull-left upload-picture" src="/assets/default-img.png" /> -->
<div class="upload-picture">
<% if @bulletin.image %>
<%= image_tag @bulletin.image rescue ''%>
<% else %>
<img class="pull-left upload-picture" src="/assets/default-img.png" />
<% end %>
</div>
<span class="alert widgetInfo"><%= t("ad.widget_info_for_ad_image_size", :best_size=> "290px x 150px") %></span>
<div class="controls file-upload input-prepend">
<%= t(:browse) %>
<%= f.file_field :image, :id => "input-upload", :class => '', :onchange => "document.getElementById('fu').innerHTML = this.form.fu.value = this.value;" %>
<!-- <span id='fu' class="file-name"></span>
<br>
<input name='fu' class="input-medium" type="text">
<br> -->
<% if @bulletin.image.file %>
<%= f.check_box :remove_image %>
<%= t('delete.file') %>
<% end %>
</div>
</div>
</div>
</div>
<div id="widget-date" class="widget-box widget-size-300">
<div class="widget-action clear tip" title="Set the announcement to start and end dates">
<a href="#" class="action"><i class="icon-exclamation-sign icon-white"></i></a>
</div>
<h3 class="widget-title"><i class="icons-calendar"></i><%= t(:date_) %></h3>
<div class="widget-content clear">
<div class="control-group">
<%= f.datetime_picker :postdate, :picker_type => 'separated', :label => t(:start) %>
</div>
<div class="control-group">
<%= f.datetime_picker :deadline, :picker_type => 'separated', :label => t(:end) %>
</div>
</div>
</div>
<% if show_form_status_field(@bulletin)%>
<div id="widget-status" class="widget-box widget-size-300">
<div class="widget-action clear tip" title="Setting the announcement state">
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
</div>
<h3 class="widget-title"><i class="icons-star"></i><%= t(:status) %></h3>
<div class="widget-content clear">
<div class="controls">
<%= content_tag :label,:class => "checkbox inline" do -%>
<%= f.check_box :is_top %>
<%= t('top') %>
<% end -%>
<%= content_tag :label,:class => "checkbox inline" do -%>
<%= f.check_box :is_hot %>
<%= t('hot') %>
<% end -%>
<%= content_tag :label,:class => "checkbox inline" do -%>
<%= f.check_box :is_hidden %>
<%= t('hide') %>
<% end -%>
</div>
</div>
</div>
<% end %>
<% if @bulletin.is_rejected %>
<div id="widget-rejected" class="widget-box widget-size-300">
<div class="widget-action clear tip" title="Rejected Report">
<a class="action"><i class="icon-cog icon-white"></i></a>
</div>
<h3 class="widget-title"><i class="icons-tag"></i><%= t('approval.stat') %></h3>
<div class="widget-content clear form-horizontal">
<%= @bulletin.not_checked_reason rescue t("rejected_reason_empty") %>
</div>
</div>
<% end %>
<div id="widget-tags" class="widget-box widget-size-300">
<div class="widget-action clear tip" title="Setting">
<a class="action"><i class="icon-cog icon-white"></i></a>
</div>
<h3 class="widget-title"><i class="icons-tag"></i><%= t(:tags) %></h3>
<div class="widget-content clear form-horizontal">
<p>
<% @tags.each do |tag| %>
<%= content_tag :label,:class => "checkbox inline" do -%>
<%= check_box_tag 'bulletin[tag_ids][]', tag.id, @bulletin.tag_ids.include?(tag.id) %>
<%= tag.name %>
<%= hidden_field_tag 'bulletin[tag_ids][]', '' %>
<% end %>
<% end %>
</p>
</div>
</div>
<% if params[:action] != 'new' %>
<div id="widget-audit" class="widget-box">
<div class="widget-action clear tip" title="A">
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
</div>
</div>
<% elsif current_user.admin? %>
<%= f.hidden_field :is_checked,:value => true%>
<% end %>
</div>
<!--Wiget End-->
<!--Post Start-->
<div id="post-body">
<div id="post-body-content" class="clear">
<%#= f.label :unit_list_for_anc%>
<%#= f.select :unit_list_for_anc_id,@unit_list_for_anc.collect{|t| [ t.title, t.id ]}, {}, :class => "input-medium" %>
<%= f.label :category,t(:category)%>
<%= f.select :bulletin_category_id, @bulletin_categorys.collect{|t| [ t.title, t.id ]}, {}, :class => "input-medium" %>
<ul class="nav nav-tabs">
<%# @site_valid_locales.each_with_index do |locale, i| %>
<% @site_valid_locales.each_with_index do |locale, i| %>
<li <%= ( i == 0 ) ? " class=active" : '' %>><a data-toggle="tab" href=".<%= locale %>"><%= I18nVariable.from_locale(locale) %></a></li>
<% end %>
</ul>
<div class="tab-content">
<%# @site_valid_locales.each_with_index do |locale, i| %>
<% @site_valid_locales.each_with_index do |locale, i| %>
<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>">
<div class="title">
<%= f.label :title ,t(:title)%>
<%= f.fields_for :title_translations do |f| %>
<%= I18nVariable.from_locale(locale) %>
<%= f.text_field locale, :class=>'post-title', :value => (@bulletin.title_translations[locale] rescue nil) %>
<% end %>
</div>
<div class="editor">
<%= f.label :subtitle, t(:subtitle) %>
<%= f.fields_for :subtitle_translations do |f| %>
<%= I18nVariable.from_locale(locale) %>
<%= f.text_area locale, :rows => 5, :style=>"width:100%", :value => (@bulletin.subtitle_translations[locale] rescue nil) %>
<% end %>
</div>
<div class="editor">
<%= f.label :text ,t(:text)%>
<%= f.fields_for :text_translations do |f| %>
<%= I18nVariable.from_locale(locale) %>
<%= f.text_area locale, :style=>"width:100%", :class => 'tinymce_textarea', :value => (@bulletin.text_translations[locale] rescue nil) %>
<% end %>
</div>
</div>
<% end %>
</div>
<div class="main-wiget">
<div id="widget-link" class="widget-box">
<div class="widget-action clear tip" title="Add a reference link">
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
</div>
<h3 class="widget-title"><i class="icons-link"></i><%= t(:link) %></h3>
<div class="widget-content">
<div id='bulletin_links' class="bulletin_links_block">
<table class="table table-condensed">
<thead>
<tr>
<th><%= t('announcement.url') %></th>
<th><%= t('announcement.link_name') %></th>
<th class="span1"></th>
</tr>
</thead>
<tfoot>
<tr>
<td style="text-align:center" colspan="4">
<div id='add_bulletin_link' class="info_input bulletin_links_block">
<%= hidden_field_tag 'bulletin_link_field_count', @bulletin.bulletin_links.count %>
<a class="add"><span class="btn btn-primary btn-small"><i class="icon-plus icon-white"></i><%= t(:add) %></span></a>
</div>
</td>
</tr>
</tfoot>
<tbody>
<% @bulletin.bulletin_links.each_with_index do |bulletin_link, i| %>
<%#= fields_for "bulletin[bulletin_links][]", bulletin_link do |f| %>
<%= f.fields_for :bulletin_links, bulletin_link do |f| %>
<%= render :partial => 'form_bulletin_link', :object => bulletin_link, :locals => {:f => f, :i => i} %>
<% end %>
<% end %>
</tbody>
</table>
</div>
</div>
</div>
<div id="widget-file" class="widget-box">
<div class="widget-action clear tip" title="Added to the file">
<a class="action"><i class="icon-exclamation-sign icon-white"></i></a>
</div>
<h3 class="widget-title"><i class="icons-paperclip"></i><%= t('announcement.file') %></h3>
<div class="widget-content">
<div id='bulletin_files' class="bulletin_files_block">
<table class="table table-condensed">
<thead>
<tr>
<th><%= t('announcement.selected_file') %></th>
<th><%= t('announcement.file_name') %></th>
<th><%= t('announcement.file_description') %></th>
<th class="span1"></th>
</tr>
</thead>
<tfoot>
<tr>
<td style="text-align:center" colspan="4">
<div id='add_bulletin_file' class="info_input bulletin_files_block">
<%= hidden_field_tag 'bulletin_file_field_count', @bulletin.bulletin_files.count %>
<a class="add"><span class="btn btn-primary btn-small"><i class="icon-plus icon-white"></i><%= t(:add) %></span></a>
<p><%= t("sys.limit_of_upload_file_size",:best_size => '3MB') %></p>
<p><%= t("sys.preview_only_for_img") %></p>
</div>
</td>
</tr>
</tfoot>
<tbody>
<% @bulletin.bulletin_files.each_with_index do |bulletin_file, i| %>
<%#= fields_for "bulletin[bulletin_files][]", bulletin_file do |f| %>
<%= f.fields_for :bulletin_files, bulletin_file do |f| %>
<%= render :partial => 'form_bulletin_file', :object => bulletin_file, :locals => {:f => f, :i => i} %>
<% end %>
<% end %>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<!--Post End-->
</div>
<div class="form-actions">
<%= button_tag t("preview"), :id=>"button_for_preview", :name=>"commit",:class=>'btn post_preview two_btn',:type=>:button,:url=>preview_panel_announcement_back_end_bulletins_path %>
<%= f.submit t('submit'), :class=>'btn btn-primary two_btn' %>
<%= link_to t('cancel'), get_go_back, :class=>"btn" %>
</div>
</div>
<% content_for :page_specific_javascript do %>
<%= javascript_include_tag "bulletin_form" %>
<%= javascript_include_tag "inc/jquery.imagesloaded.js" %>
<script>
$(document).ready(function() {
$('#add_bulletin_link a.add').live('click', function(){
var new_id = $(this).prev().attr('value');
var old_id = new RegExp("new_bulletin_links", "g");
$(this).prev().attr('value', parseInt(new_id) + 1);
$(this).parents('table').append(("<%= escape_javascript(add_attribute 'form_bulletin_link', f, :bulletin_links) %>").replace(old_id, new_id));
});
$('#add_bulletin_file a.add').live('click', function(){
var new_id = $(this).prev().attr('value');
var old_id = new RegExp("new_bulletin_files", "g");
$(this).prev().attr('value', parseInt(new_id) + 1);
$(this).parents('table').append(("<%= escape_javascript(add_attribute 'form_bulletin_file', f, :bulletin_files) %>").replace(old_id, new_id));
});
$('.for_preview').popover({ html : true });
});
</script>
<% end %>
@@ -1,76 +0,0 @@
<% # encoding: utf-8 %>
<tr id="<%= "bulletin_file_#{form_bulletin_file.id}" if !form_bulletin_file.new_record? %>" class='list_item'>
<td>
<div class="control-group">
<div class="controls">
<% if form_bulletin_file.new_record? %>
<%= f.file_field :file %>
<% end %>
<%= form_bulletin_file.file.file ? ( link_to t(:view), form_bulletin_file.file.url, {:class => 'for_preview btn', :target => '_blank', :title => t(:view), "data-trigger" => :hover}.merge(file_picture_preview_setting(form_bulletin_file.file.url)) ) : '' %>
</div>
</div>
</td>
<td>
<div class="tab-content">
<% @site_valid_locales.each_with_index do |locale, i| %>
<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>">
<%= f.fields_for :title_translations do |f| %>
<div class="control-group">
<label for="link-<%= locale %>" class="control-label"><%= I18nVariable.first(:conditions => {:key => locale})[I18n.locale] %></label>
<div class="controls">
<%= f.text_field locale, :id => "link-#{locale}", :value => (form_bulletin_file.title_translations[locale] rescue nil) %>
</div>
</div>
<% end %>
</div>
<% end %>
</div>
</td>
<td>
<div class="tab-content">
<% @site_valid_locales.each_with_index do |locale, i| %>
<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>">
<%= f.fields_for :description_translations do |f| %>
<div class="control-group">
<label for="link-<%= locale %>" class="control-label"><%= I18nVariable.first(:conditions => {:key => locale})[I18n.locale] %></label>
<div class="controls">
<%= f.text_field locale, :id => "link-#{locale}", :value => (form_bulletin_file.description_translations[locale] rescue nil) %>
</div>
</div>
<% end %>
</div>
<% end %>
</div>
</td>
<td>
<span class="action">
<% if form_bulletin_file.new_record? %>
<a class="delete"><i class="icon-remove"></i></a>
<% else %>
<%= f.hidden_field :id %>
<%= hidden_field_tag :tr, (dom_id form_bulletin_file) %>
<a class="remove_existing_record"><i class="icon-remove"></i></a>
<%= f.hidden_field :_destroy, :value => nil, :class => 'should_destroy' %>
<% end %>
</span>
</td>
</tr>
@@ -1,48 +0,0 @@
<tr id="<%= "bulletin_link_#{form_bulletin_link.id}" if !form_bulletin_link.new_record? %>" class='list_item'>
<td>
<div class="control-group">
<div class="controls">
<%= f.text_field :url %>
</div>
</div>
</td>
<td>
<div class="tab-content">
<% @site_valid_locales.each_with_index do |locale, i| %>
<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>">
<%= f.fields_for :title_translations do |f| %>
<div class="control-group">
<label for="link-<%= locale %>" class="control-label"><%= I18nVariable.first(:conditions => {:key => locale})[I18n.locale] %></label>
<div class="controls">
<%= f.text_field locale, :id => "link-#{locale}", :class => "input-xlarge", :value => (form_bulletin_link.title_translations[locale] rescue nil) %>
</div>
</div>
<% end %>
</div>
<% end %>
</div>
</td>
<td>
<span class="action">
<% if form_bulletin_link.new_record? %>
<a class="delete"><i class="icon-remove"></i></a>
<% else %>
<%= f.hidden_field :id %>
<%= hidden_field_tag :tr, (dom_id form_bulletin_link) %>
<a class="remove_existing_record"><i class="icon-remove"></i></a>
<%= f.hidden_field :_destroy, :value => nil, :class => 'should_destroy' %>
<% end %>
</span>
</td>
</tr>
@@ -0,0 +1,51 @@
<% if form_file.new_record? %>
<div class="fileupload fileupload-new start-line" data-provides="fileupload">
<% else %>
<div class="fileupload-new start-line">
<%= link_to form_file.file_identifier, form_file.file.url, {:class => 'file-link for_preview', :target => '_blank', :title => t(:view), "data-trigger" => :hover}.merge(file_picture_preview_setting(form_file.file.url)) %>
<% end %>
<div class="input-prepend input-append">
<% if form_file.new_record? %>
<label>
<span class="add-on btn btn-file">
<i class="icons-paperclip"></i>
<%= f.file_field :file %>
</span>
<div class="uneditable-input input-medium">
<i class="icon-file fileupload-exists"></i>
<span class="fileupload-preview"><%= t(:select_file) %></span>
</div>
</label>
<% end %>
<span class="add-on icons-pencil"></span>
<span class="tab-content">
<% @site_valid_locales.each_with_index do |locale, i| %>
<span class="tab-pane fade <%= ( i == 0 ) ? "in active" : '' %> <%= locale %>">
<%= f.fields_for :title_translations do |f| %>
<%= f.text_field locale, :class => "input-medium", placeholder: t(:alternative), :value => (form_file.title_translations[locale] rescue nil) %>
<% end %>
</span>
<% end %>
</span>
<span class="add-on icons-pencil"></span>
<span class="tab-content">
<% @site_valid_locales.each_with_index do |locale, i| %>
<span class="tab-pane fade <%= ( i == 0 ) ? "in active" : '' %> <%= locale %>">
<%= f.fields_for :description_translations do |f| %>
<%= f.text_field locale, :class => "input-medium", placeholder: t(:description), :value => (form_file.description_translations[locale] rescue nil) %>
<% end %>
</span>
<% end %>
</span>
</span>
<span class="add-on btn">
<% if form_file.new_record? %>
<a class="delete_file 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>
@@ -0,0 +1,23 @@
<div class="input-prepend input-append start-line">
<span class="add-on icons-link"></span>
<%= f.text_field :url, class: "input-large", placeholder: t(:url) %>
<span class="add-on icons-pencil"></span>
<span class="tab-content">
<% @site_valid_locales.each_with_index do |locale, i| %>
<span class="tab-pane fade <%= ( i == 0 ) ? "in active" : '' %> <%= locale %>">
<%= f.fields_for :title_translations do |f| %>
<%= f.text_field locale, :class => "input-large", placeholder: t(:url_alt), :value => (form_link.title_translations[locale] rescue nil) %>
<% end %>
</span>
<% end %>
</span>
<span class="add-on btn">
<% if form_link.new_record? %>
<a class="delete_link 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>
@@ -1,20 +0,0 @@
<tr id="<%= dom_id list_bulletin_file %>">
<td><%= list_bulletin_file.file.file ? ( link_to list_bulletin_file.title_translations['zh_tw'], list_bulletin_file.file.url, {:target => '_blank', :title => list_bulletin_file.description_translations['zh_tw']} ) : list_bulletin_file.title_translations['zh_tw'] %></td>
<td><%= list_bulletin_file.file.file ? ( link_to list_bulletin_file.title_translations['en'], list_bulletin_file.file.url, {:target => '_blank', :title => list_bulletin_file.description_translations['en']} ) : list_bulletin_file.title_translations['zh_tw'] %></td>
<td>
<a href="<%= panel_announcement_back_end_bulletin_file_quick_edit_path(list_bulletin_file) %>#modal-file" data-toggle="modal" data-remote="true" class="action"><i class="icon-pencil"></i></a>
<span class="action">
<%= fields_for "bulletin[bulletin_files_attributes][]", list_bulletin_file, :index => list_bulletin_file_counter do |f| %>
<%= f.hidden_field :id %>
<%= hidden_field_tag :tr, (dom_id list_bulletin_file) %>
<a class="remove_existing_record"><i class="icon-remove"></i></a>
<%= f.hidden_field :_destroy, :value => nil , :class => 'should_destroy' %>
<% end %>
</span>
</td>
</tr>
@@ -1,15 +0,0 @@
<tr id="<%= dom_id list_bulletin_link %>">
<td><%= link_to list_bulletin_link.title_translations['zh_tw'], list_bulletin_link.url, :target => '_blank' %></td>
<td><%= link_to list_bulletin_link.title_translations['en'], list_bulletin_link.url, :target => '_blank' %></td>
<td>
<a href="<%= panel_announcement_back_end_bulletin_link_quick_edit_path(list_bulletin_link) %>#modal-link" data-toggle="modal" data-remote="true" class="action"><i class="icon-pencil"></i></a>
<span class="action">
<%= fields_for "bulletin[bulletin_links_attributes][]", list_bulletin_link, :index => list_bulletin_link_counter do |f| %>
<%= f.hidden_field :id %>
<%= hidden_field_tag :tr, (dom_id list_bulletin_link) %>
<a class="remove_existing_record"><i class="icon-remove"></i></a>
<%= f.hidden_field :_destroy, :value => nil, :class => 'should_destroy' %>
<% end %>
</span>
</td>
</tr>
@@ -1,10 +0,0 @@
<td colspan="8">
<legend><%= t(:quick_edit) %> - <span class='qe_title'></span><%= t(type) %></legend>
<%= form_for @bulletin, :url => panel_announcement_back_end_bulletin_path(@bulletin), :html => {:class => 'form-horizontal'} do |f| %>
<%= render :partial => "panel/announcement/back_end/bulletins/quick_edit_#{@type}", :locals => { :f => f, :bulletin => @bulletin } %>
<div class="form-actions">
<%= f.submit t(:submit), :class => 'btn btn-primary' %>
<%= f.submit t(:cancel), :class => 'btn quick_edit_cancel', :type => 'reset', :rel => dom_id(@bulletin, :edit) %>
</div>
<% end %>
</td>
@@ -1,64 +0,0 @@
<div id="qe-basic" class="qe-edit-div">
<div id="widget-category">
<div class="control-group">
<label class="control-label"><%= t(:category) %></label>
<div class="controls">
<%= f.select :bulletin_category_id, @bulletin_categories.collect {|t| [ t.title, t.id ]}, {}, :class => 'input-large' %>
</div>
</div>
</div>
<div id="widget-title">
<%= f.fields_for :title_translations do |f| %>
<% @site_valid_locales.each do |locale| %>
<div class="control-group">
<%= label_tag "title-#{locale}", "#{t(:title)}-#{I18nVariable.from_locale(locale)}", :class => 'control-label' %>
<div class="controls">
<%= f.text_field locale, :class => 'input-xxlarge', :value => (bulletin.title_translations[locale] rescue nil) %>
</div>
</div>
<% end %>
<% end %>
</div>
<div id="widget-date">
<div class="control-group">
<label class="control-label"><%= t(:start) %></label>
<div class="controls">
<%= f.datetime_select :postdate, { :use_month_numbers => true, :order => [:day, :month, :year] }, :class => 'input-small' %>
</div>
</div>
<div class="control-group">
<label class="control-label"><%= t(:end) %></label>
<div class="controls">
<%= f.datetime_select :deadline, { :use_month_numbers => true, :prompt => { :month => 'Month', :day => 'Day', :year => 'Year'}, :order => [:day, :month, :year] }, :class => 'input-small' %>
</div>
</div>
</div>
<% if show_form_status_field(@bulletin)%>
<div id="widget-status">
<div class="control-group">
<label class="control-label"><%= t(:status) %></label>
<div class="controls">
<label class="checkbox inline"><%= f.check_box :is_hot %><%= t(:hot) %></label>
<label class="checkbox inline"><%= f.check_box :is_top %><%= t(:top) %></label>
<label class="checkbox inline"><%= f.check_box :is_hidden %><%= t(:hidden) %></label>
</div>
</div>
</div>
<% end -%>
<!-- <div id="widget-role">
<div class="control-group">
<label class="control-label">Role</label>
<div class="controls">
<label class="radio inline"><%= f.radio_button :public, true, :class => 'privacy' %>Public</label>
<label class="radio inline"><%= f.radio_button :public, false, :class => 'privacy' %>Private</label>
<div class="well select-role" style="display:<%= bulletin.public ? 'none' : 'block' %>;">
<label class="checkbox inline"><input type="checkbox" value="student">Student</label>
<label class="checkbox inline"><input type="checkbox" value="teacher">Teacher</label>
<label class="checkbox inline"><input type="checkbox" value="staff">Staff</label>
</div>
</div>
</div>
</div> -->
</div>
@@ -1,26 +0,0 @@
<div id="qe-file" class="qe-edit-div">
<div id="widget-file">
<div class="control-group">
<table id="bulletin_files" class="table table-condensed">
<thead>
<tr>
<th>Chinese</th>
<th>English</th>
<th class="span1"></th>
</tr>
</thead>
<tfoot>
<tr>
<td style="text-align:center" colspan="3">
<a class="btn btn-primary btn-small" href="<%= panel_announcement_back_end_bulletin_file_quick_add_path(bulletin) %>#modal-file" data-toggle="modal" data-remote="true"><i class="icon-plus icon-white"></i> <%= t('add')%></a>
</td>
</tr>
</tfoot>
<tbody>
<%= render :partial => 'list_bulletin_file', :collection => bulletin.bulletin_files %>
</tbody>
</table>
</div>
</div>
</div>
@@ -1,27 +0,0 @@
<div id="qe-link" class="qe-edit-div">
<div id="widget-link">
<div class="control-group">
<table id="bulletin_links" class="table table-condensed">
<thead>
<tr>
<th>Chinese</th>
<th>English</th>
<th class="span1"></th>
</tr>
</thead>
<tfoot>
<tr>
<td style="text-align:center" colspan="3">
<a class="btn btn-primary btn-small" href="<%= panel_announcement_back_end_bulletin_link_quick_add_path(bulletin) %>#modal-link" data-toggle="modal" data-remote="true"><i class="icon-plus icon-white"></i> <%= t('add')%></a>
</td>
</tr>
</tfoot>
<tbody>
<%= render :partial => 'list_bulletin_link', :collection => bulletin.bulletin_links %>
</tbody>
</table>
</div>
</div>
</div>
@@ -1,25 +0,0 @@
<div id="qe-picture" class="qe-edit-div">
<div id="widget-picture clear">
<div class="control-group">
<!--<label class="control-label">Picture</label>-->
<div class="control-group">
<div class="controls upload-picture">
<img class="pull-left upload-picture" src="" />
</div>
<div class="controls file-upload input-prepend">
<label class="control-label add-on btn" for="input-upload">
<%= t(:browse) %>
<%= f.file_field :image, :id => "input-upload", :class => 'upload', :onchange => "document.getElementById('fu').innerHTML = this.form.fu.value = this.value;" %>
</label>
<span id='fu' class="file-name"></span>
<input name='fu' class="input-medium qe-picture-rename" type="text">
<br>
<% if bulletin.image.file %>
<%= f.check_box :remove_image %>
<%= t('delete.file') %>
<% end %>
</div>
</div>
</div>
</div>
</div>
@@ -1,15 +0,0 @@
<div id="qe-tags" class="qe-edit-div">
<div id="widget-tags">
<div class="controls">
<div class="form-horizontal">
<% @tags.each do |tag| %>
<label class="checkbox inline">
<%= check_box_tag 'bulletin[tag_ids][]', tag.id, bulletin.tag_ids.include?(tag.id) %>
<%= tag.name %>
</label>
<%= hidden_field_tag 'bulletin[tag_ids][]', '' %>
<% end %>
</div>
</div>
</div>
</div>
@@ -1,8 +0,0 @@
<%= render_sort_bar(true, delete_panel_announcement_back_end_bulletins_path(:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil, :sort_options => params[:sort_options]),
['status', ['is_top', 'is_hot', 'is_hidden', 'is_pending', 'is_checked', 'is_rejected'], 'span1-2', :status],
['category', 'bulletin_category', 'span1-2', :category],
['title', 'title','span7', :title],
['start_date', 'postdate', 'span1-2', :start_date],
['end_date', 'deadline', 'span1-2', :end_date],
['tags', 'tags', 'span1-2', :tags],
['last_modified', 'update_user_id','span1-3', 'last_modified']).html_safe %>
@@ -1 +0,0 @@
<%= render :partial => 'list_bulletin_file', :collection => [@bulletin_file] %>
@@ -1,2 +0,0 @@
$("#modal-file").modal('hide');
$('<%= j render :partial => 'list_bulletin_file', :collection => [@bulletin_file] %>').appendTo('#bulletin_files').hide().fadeIn();
@@ -1,2 +0,0 @@
$("#modal-link").modal('hide');
$('<%= j render :partial => 'list_bulletin_link', :collection => [@bulletin_link] %>').appendTo('#bulletin_links').hide().fadeIn();
@@ -1,14 +1,5 @@
<!-- <ul class="breadcrumb">
<li><span>Home</span><span class="divider">/</span></li>
<li><span>Library</span><span class="divider">/</span></li>
<li class="text-blue"><%= t('announcement.editing_announcement') %></li>
</ul> -->
<div id="poststuff">
<%= form_for @bulletin, :url => panel_announcement_back_end_bulletin_path(@bulletin), :html => {:class => 'clear nccu_ajax_form'} do |f| %>
<%= render :partial => 'form', :locals => {:f => f} %>
<% end %>
</div>
<% content_for :page_specific_javascript do %>
<%= javascript_include_tag "bulletin_form" %>
<% end %>
<%= form_for @bulletin, url: panel_announcement_back_end_bulletin_path(@bulletin), html: {class: "form-horizontal main-forms previewable"} do |f| %>
<fieldset>
<%= render partial: 'form', locals: {f: f} %>
</fieldset>
<% end %>
@@ -1 +0,0 @@
$("#modal-file").html("<%= j render "bulletin_file_qe" %>");
@@ -1 +0,0 @@
$("#modal-file").html("<%= j render "bulletin_file_qe" %>");
@@ -1,24 +1,60 @@
<%= render 'filter' %>
<table id="bulettin_sort_list" class="table main-list">
<%= render 'bulletins' %>
</table>
<div class="form-actions form-fixed pagination-right">
<%= link_to(content_tag(:i, nil, :class => 'icon-plus icon-white') + t(:add), new_panel_announcement_back_end_bulletin_path, :class => 'btn btn-primary pull-right' )if (is_manager? rescue nil)%>
<div id="bulletin_pagination" class="paginationFixed">
<%= paginate @bulletins, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil, :sort_options => params[:sort_options]} %>
</div>
</div>
<div id="bulletin_link_qe">
<div id="modal-link" class="modal fade">
<%#= render :partial => "bulletin_link_qe" %>
</div>
</div>
<% content_for :page_specific_javascript do %>
<%= javascript_include_tag "bulletin_form" %>
<%= javascript_include_tag "/static/jquery.cycle.all.latest.js" %>
<%= javascript_include_tag "inc/modal-preview" %>
<% end %>
<% set_default_index do
objects @bulletins
approvable
authorization
filterable @bulletin_categories
sortable
category_field 'bulletin_category'
quick_edit_link type: 'edit',
link: 'edit_panel_announcement_back_end_bulletin_path'
quick_edit_link type: 'detail'
quick_edit_link type: 'delete',
link: 'panel_announcement_back_end_bulletin_path'
quick_edit_link type: 'approval',
link: 'panel_announcement_back_end_bulletin_approval_preview_path'
quick_edit_link type: 'reject_reason'
field type: 'status',
db_field: ['is_top', 'is_hot', 'is_hidden', 'is_pending', 'is_checked', 'is_rejected'],
translation: 'status',
hide: 'phone',
sort: 'status'
#filter: true
field type: 'associated',
associated_value: 'title',
db_field: 'bulletin_category',
translation: 'category',
hide: 'phone',
sort: 'category'
#filter: true
field type: 'field',
db_field: 'title',
translation: 'title',
sort: 'title',
link: 'panel_announcement_front_end_bulletin_path',
quick_edit: true
field type: 'date',
db_field: 'postdate',
translation: 'start_date',
hide: 'phone',
sort: 'start_date'
field type: 'date',
db_field: 'deadline',
translation: 'end_date',
hide: 'phone',
sort: 'end_date'
field type: 'tags',
db_field: 'tags',
translation: 'tags',
hide: 'all',
sort: 'tags'
#filter: true
field type: 'id',
id_model: 'User',
db_field: 'update_user_id',
translation: 'last_modified',
hide: 'phone',
sort: 'last_modified'
footer link: 'new_panel_announcement_back_end_bulletin_path'
end %>
<%= render 'admin/default_index/index' %>
@@ -1,7 +0,0 @@
$("#collapse-status").html("<%= j render 'filter_status' %>");
$("#collapse-category").html("<%= j render 'filter_categories' %>");
$("#collapse-tags").html("<%= j render 'filter_tags' %>");
$("#delete_all").attr("action", "<%= delete_panel_announcement_back_end_bulletins_path(:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil, :sort_options => params[:sort_options]) %>");
$("#sort_headers").html("<%= j render 'sort_headers' %>");
$("#tbody_bulletins").html("<%= j render :partial => 'bulletin', :collection => @bulletins %>");
$("#bulletin_pagination").html("<%= j paginate @bulletins, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %>");
@@ -1 +0,0 @@
$("#modal-link").html("<%= j render "bulletin_link_qe" %>");
@@ -1 +0,0 @@
$("#modal-link").html("<%= j render "bulletin_link_qe" %>");
@@ -1,2 +0,0 @@
$("#<%= dom_id @bulletin, :edit %>").show()
$("#<%= dom_id @bulletin, :edit %>").html("<%= j render :partial => 'quick_edit', :locals => {:type => @type} %>")
@@ -1,5 +1,5 @@
<div id="poststuff">
<%= form_for @bulletin, :url => panel_announcement_back_end_bulletins_path,:html=>{ :class=>"nccu_ajax_form"} do |f| %>
<%= render :partial => 'form', :locals => {:f => f} %>
<% end %>
</div>
<%= form_for @bulletin, url: panel_announcement_back_end_bulletins_path, html: {class: "form-horizontal main-forms previewable"} do |f| %>
<fieldset>
<%= render partial: 'form', locals: {f: f} %>
</fieldset>
<% end %>
@@ -1,2 +0,0 @@
$("#modal-file").modal('hide');
$("#<%= dom_id @bulletin_file %>").replaceWith("<%= j render :partial => 'list_bulletin_file', :collection => [@bulletin_file] %>");
@@ -1,2 +0,0 @@
$("#modal-link").modal('hide');
$("#<%= dom_id @bulletin_link %>").replaceWith("<%= j render :partial => 'list_bulletin_link', :collection => [@bulletin_link] %>");
+3
View File
@@ -26,6 +26,9 @@ Rails.application.routes.draw do
end
resources :bulletin_categorys do
member do
post 'toggle'
end
collection do
get 'get_categorys_json'
end
+2
View File
@@ -21,6 +21,8 @@ module Announcement
category ["BulletinCategory"]
data_count 3..10
taggable
widgets do
default_widget do
enable ["typeA","typeC"]
+2
View File
@@ -19,6 +19,8 @@ module Archive
category ["ArchiveFileCategory"]
taggable
widgets do
# default_widget do
# query 'ArchiveFile.all'
+2
View File
@@ -9,6 +9,8 @@ module Calendar
author "RD dep"
intro "I am intro"
update_info 'some update_info'
taggable
side_bar do
head_label_i18n 'calendar.calendar',:icon_class=>"icons-calendar"
+2
View File
@@ -36,6 +36,8 @@ module Faq
# style ["1"]
# end
end
taggable
side_bar do
head_label_i18n 'faq.faq',:icon_class=>"icons-help"
+2
View File
@@ -18,6 +18,8 @@ module Gallery
category ["gallery_categories"]
taggable
widgets do
# default_widget do
# query 'Bulletin.all'
+2
View File
@@ -12,6 +12,8 @@ module WebResource
category ["WebLinkCategory"]
taggable
widgets do
# default_widget do
# query 'Bulletin.all'