Merge branch 'sidebar_config' into ntu
Conflicts: app/controllers/admin/object_auths_new_interface_controller.rb app/controllers/orbit_backend_controller.rb app/controllers/orbit_widget_controller.rb app/models/module_app.rb app/views/admin/page_parts/_module_widget.html.erb config/locales/zh_tw.yml lib/parsers/parser_common.rb lib/parsers/parser_front_end.rb
This commit is contained in:
commit
76296ab29b
160 files changed
+8659
-1037
No files matched your search
+2
-28
@@ -207,31 +207,6 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
|
||||
# PUT /bulletins/1.xml
|
||||
|
||||
def update
|
||||
if params[:bulletin_link]
|
||||
|
||||
@bulletin_link = BulletinLink.find(params[:id])
|
||||
@link_url = panel_announcement_back_end_bulletin_path(@bulletin_link)
|
||||
|
||||
respond_to do |format|
|
||||
if @bulletin_link.update_attributes(params[:bulletin_link])
|
||||
# format.html { redirect_to(panel_announcement_back_end_bulletins_url) }
|
||||
format.js { render 'update_bulletin_link' }
|
||||
end
|
||||
end
|
||||
|
||||
elsif params[:bulletin_file]
|
||||
|
||||
@bulletin_file = BulletinFile.find(params[:id])
|
||||
@file_url = panel_announcement_back_end_bulletin_path(@bulletin_file)
|
||||
respond_to do |format|
|
||||
|
||||
if @bulletin_file.update_attributes(params[:bulletin_file])
|
||||
# format.html { redirect_to(panel_announcement_back_end_bulletins_url) }
|
||||
format.js { render 'update_bulletin_file' }
|
||||
end
|
||||
end
|
||||
|
||||
else
|
||||
|
||||
@bulletin = Bulletin.find(params[:id])
|
||||
|
||||
@@ -273,7 +248,6 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
# DELETE /bulletins/1
|
||||
# DELETE /bulletins/1.xml
|
||||
@@ -362,10 +336,10 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
|
||||
def clean_values
|
||||
if params[:bulletin]
|
||||
params[:bulletin][:bulletin_links_attributes].each_with_index do |link, index|
|
||||
params[:bulletin][:bulletin_links_attributes].delete(index.to_s) if link[1]['url'].blank? and link[1]['title'].blank?
|
||||
params[:bulletin][:bulletin_links_attributes].delete(index.to_s) if link[1]['url'].blank? and link[1]['title_translations'].blank?
|
||||
end rescue nil
|
||||
params[:bulletin][:bulletin_files_attributes].each_with_index do |link, index|
|
||||
params[:bulletin][:bulletin_files_attributes].delete(index.to_s) if link[1]['file'].blank? and link[1]['title'].blank?
|
||||
params[:bulletin][:bulletin_files_attributes].delete(index.to_s) if link[1]['file'].blank? and link[1]['title_translations'].blank?
|
||||
end rescue nil
|
||||
end
|
||||
end
|
||||
|
||||
+1
-1
@@ -64,7 +64,7 @@ class Panel::Announcement::FrontEnd::BulletinsController < OrbitWidgetController
|
||||
preview_content
|
||||
else
|
||||
@bulletin = Bulletin.all.can_display.where(_id: params[:id]).first
|
||||
if !@bulletin.disable? and !@bulletin.is_rejected
|
||||
if @bulletin and !@bulletin.disable? and !@bulletin.is_rejected
|
||||
if @bulletin.enabled_for_lang(I18n.locale.to_s)
|
||||
impressionist(@bulletin)
|
||||
get_categorys
|
||||
|
||||
Vendored
+10
-9
@@ -37,21 +37,22 @@ module Panel::Announcement::BackEnd::BulletinsHelper
|
||||
end
|
||||
|
||||
def file_picture_preview_setting(file_path)
|
||||
res= ""
|
||||
ext = File.extname(file_path)
|
||||
ext = File.extname(file_path)[1..-1].downcase
|
||||
unless file_path.nil?
|
||||
case ext
|
||||
when ".jpg",".jpeg",".png",".gif"
|
||||
#res = '<div class="for_preview" style="display:none;">'
|
||||
#res << image_tag(file_path, {:title => t(:view)})
|
||||
#res << '</div>'
|
||||
#res.html_safe
|
||||
when "jpg","jpeg","png","gif"
|
||||
{"data-content" => "#{image_tag file_path}" }
|
||||
when "pdf", "zip", "rar"
|
||||
{"data-content" => "#{image_tag("http://#{request.host_with_port}/assets/ft-icons/#{ext}/#{ext}-64_32.png")}"}
|
||||
when "doc", "docx"
|
||||
{"data-content" => "#{image_tag("http://#{request.host_with_port}/assets/ft-icons/docx_mac/docx_mac-64_32.png")}"}
|
||||
when "xls", "xlsx"
|
||||
{"data-content" => "#{image_tag("http://#{request.host_with_port}/assets/ft-icons/xlsx_mac/xlsx_mac-64_32.png")}"}
|
||||
when "ppt", "pptx"
|
||||
{"data-content" => "#{image_tag("http://#{request.host_with_port}/assets/ft-icons/pptx_mac/pptx_mac-64_32.png")}"}
|
||||
else
|
||||
{"data-content" => t("sys.not_previewable") }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
@@ -51,7 +51,7 @@ class Bulletin
|
||||
|
||||
validates :title, :at_least_one => true
|
||||
|
||||
before_save :check_deadline, :update_avliable_language, :clean_values
|
||||
before_save :check_deadline, :update_avliable_language, :clean_values#, :save_bulletin_links, :save_bulletin_files
|
||||
|
||||
searchable do
|
||||
text :titles do
|
||||
@@ -77,6 +77,10 @@ class Bulletin
|
||||
string :bulletin_category_id
|
||||
end
|
||||
|
||||
def bulletin_category_with_title
|
||||
self.bulletin_category.title
|
||||
end
|
||||
|
||||
def share_item
|
||||
Item.first(conditions:{name: 'announcement'})
|
||||
end
|
||||
|
||||
Vendored
+5
-28
@@ -253,39 +253,16 @@
|
||||
<p><%= t("sys.limit_of_upload_file_size",:best_size => '3MB') %></p>
|
||||
<p><%= t("sys.preview_only_for_img") %></p>
|
||||
</div>
|
||||
<div>
|
||||
<table class="table table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>File Name</th>
|
||||
<th class="span2">Chinese</th>
|
||||
<th class="span2">English</th>
|
||||
<th class="span1"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td>File Name</td>
|
||||
<td><input type="checkbox" id="optionsCheckbox" value="true" disabled /></td>
|
||||
<td><input type="checkbox" id="optionsCheckbox" value="true" disabled checked /></td>
|
||||
<td><a class="action" data-toggle="modal" href="#modal-link"><i class="icon-pencil"></i></a><a class="action" href=""><i class="icon-remove"></i></a></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody id="messages">
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
|
||||
<%# @bulletin.bulletin_files.each_with_index do |bulletin_file, i| %>
|
||||
<% @bulletin.bulletin_files.each_with_index do |bulletin_file, i| %>
|
||||
<%#= fields_for "bulletin[bulletin_files][]", bulletin_file do |f| %>
|
||||
<%#= f.fields_for :bulletin_files do |f| %>
|
||||
<%#= render :partial => 'form_bulletin_file', :object => bulletin_file, :locals => {:f => f, :i => i} %>
|
||||
<%# end %>
|
||||
<%# end %>
|
||||
<%= 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>
|
||||
|
||||
+72
-71
@@ -1,75 +1,76 @@
|
||||
<% # 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">
|
||||
<%= f.file_field :file %>
|
||||
<%#= form_bulletin_file.file.file ? ( link_to t(:view), form_bulletin_file.file.url, {:class => 'btn', :target => '_blank', :title => t(:view)} ) : '' %>
|
||||
<%= form_bulletin_file.file.file ? ( link_to t(:view), form_bulletin_file.file.url, {:class => 'for_preview btn', :target => '_blank', :title => t(:view)}.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>
|
||||
<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>
|
||||
|
||||
<% 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>
|
||||
<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>
|
||||
|
||||
<% 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 :should_destroy, :value => nil, :class => 'should_destroy' %>
|
||||
<% end %>
|
||||
</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@
|
||||
<%= 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 :should_destroy, :value => nil, :class => 'should_destroy' %>
|
||||
<%= f.hidden_field :_destroy, :value => nil, :class => 'should_destroy' %>
|
||||
<% end %>
|
||||
</span>
|
||||
</td>
|
||||
|
||||
vendor/built_in_modules/announcement/app/views/panel/announcement/front_end/bulletins/index.html.erb
Vendored
+15
-15
@@ -23,16 +23,16 @@
|
||||
<td>
|
||||
<span class="<%= ff[1] %>">
|
||||
<% if ff[1] == 'title' %>
|
||||
<%= link_to post.send("#{ff[0]}")[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<%= link_to post.send("#{ff[0]}"), panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<% elsif ff[1] == 'date' %>
|
||||
<%= display_date(post.send(ff[0])) %>
|
||||
<% elsif ff[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{ff[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{ff[0]}").title rescue nil %>
|
||||
<% elsif ff[1] == 'img' %>
|
||||
<div class="img app-pic"><%= image_tag(post.send(wf[0]).url) %></div>
|
||||
<% elsif ff[1] == 'text' %>
|
||||
<%#= post.send("#{ff[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{ff[0]}")[I18n.locale].html_safe %>
|
||||
<%= post.send("#{ff[0]}").html_safe %>
|
||||
<% elsif ff[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
@@ -67,14 +67,14 @@
|
||||
<% @item.frontend_field.each do |ff| %>
|
||||
<span class="<%= ff[1] %>">
|
||||
<% if ff[1] == 'title' %>
|
||||
<%= link_to post.title[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.bulletin_category_id) %>
|
||||
<%= link_to post.title, panel_announcement_front_end_bulletin_path(post, :category_id => post.bulletin_category_id) %>
|
||||
<% elsif ff[1] == 'date' %>
|
||||
<%= display_date(post.send(ff[0])) %>
|
||||
<% elsif ff[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{ff[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{ff[0]}").title rescue nil %>
|
||||
<% elsif ff[1] == 'text' %>
|
||||
<%#= post.send("#{ff[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{ff[0]}")[I18n.locale].html_safe %>
|
||||
<%= post.send("#{ff[0]}").html_safe %>
|
||||
<% elsif ff[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
@@ -109,14 +109,14 @@
|
||||
<% @item.frontend_field.each do |ff| %>
|
||||
<span class="<%= ff[1] %>">
|
||||
<% if ff[1] == 'title' %>
|
||||
<%= link_to post.send("#{ff[0]}")[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<%= link_to post.send("#{ff[0]}"), panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<% elsif ff[1] == 'date' %>
|
||||
<%= display_date(post.send(ff[0])) %>
|
||||
<% elsif ff[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{ff[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{ff[0]}").title rescue nil %>
|
||||
<% elsif ff[1] == 'text' %>
|
||||
<%#= post.send("#{ff[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{ff[0]}")[I18n.locale].html_safe %>
|
||||
<%= post.send("#{ff[0]}").html_safe %>
|
||||
<% elsif ff[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
@@ -153,14 +153,14 @@
|
||||
<% @item.frontend_field.each do |ff| %>
|
||||
<span class="<%= ff[1] %>">
|
||||
<% if ff[1] == 'title' %>
|
||||
<%= link_to post.send("#{ff[0]}")[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<%= link_to post.send("#{ff[0]}"), panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<% elsif ff[1] == 'date' %>
|
||||
<%= display_date(post.send(ff[0])) %>
|
||||
<% elsif ff[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{ff[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{ff[0]}").title rescue nil %>
|
||||
<% elsif ff[1] == 'text' %>
|
||||
<%#= post.send("#{ff[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{ff[0]}")[I18n.locale].html_safe %>
|
||||
<%= post.send("#{ff[0]}").html_safe %>
|
||||
<% elsif ff[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
@@ -195,14 +195,14 @@
|
||||
<% @item.frontend_field.each do |ff| %>
|
||||
<span class="<%= ff[1] %>">
|
||||
<% if ff[1] == 'title' %>
|
||||
<%= link_to post.send("#{ff[0]}")[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<%= link_to post.send("#{ff[0]}"), panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<% elsif ff[1] == 'date' %>
|
||||
<%= display_date(post.send(ff[0])) %>
|
||||
<% elsif ff[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{ff[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{ff[0]}").title rescue nil %>
|
||||
<% elsif ff[1] == 'text' %>
|
||||
<%#= post.send("#{ff[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{ff[0]}")[I18n.locale].html_safe %>
|
||||
<%= post.send("#{ff[0]}").html_safe %>
|
||||
<% elsif ff[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
|
||||
Vendored
+17
-17
@@ -17,8 +17,8 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<% @bulletins.each do |post| %>
|
||||
<% @widget_fields.each do |wf| %>
|
||||
<tr class="<%= cycle('odd', '')%>">
|
||||
<% @widget_fields.each do |wf| %>
|
||||
<td>
|
||||
<span class="<%= wf[1] %>">
|
||||
<% if wf[1] == 'title' %>
|
||||
@@ -26,12 +26,12 @@
|
||||
<% elsif wf[1] == 'date' %>
|
||||
<%= display_date(post.send(wf[0])) %>
|
||||
<% elsif wf[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{wf[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{wf[0]}").title rescue nil %>
|
||||
<% elsif wf[1] == 'img' %>
|
||||
<div class="img app-pic"><%= image_tag(post.send(wf[0]).url) %></div>
|
||||
<% elsif wf[1] == 'text' %>
|
||||
<%#= post.send("#{wf[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{wf[0]}")[I18n.locale].html_safe %>
|
||||
<%= post.send("#{wf[0]}").html_safe %>
|
||||
<% elsif wf[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
@@ -49,8 +49,8 @@
|
||||
<% end %>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tr>
|
||||
<% end %>
|
||||
</table>
|
||||
|
||||
@@ -67,19 +67,19 @@
|
||||
<ul class="newslist">
|
||||
<% @bulletins.each do |post| %>
|
||||
<li class="<%= cycle('odd', '')%>">
|
||||
<div class="img app-pic"><%= image_tag(post.image.url) %></div>
|
||||
<div class="img app-pic" style="width:50px; height:50px;"><%= image_tag(post.image.url) %></div>
|
||||
|
||||
<% @widget_fields.each do |wf| %>
|
||||
<span class="<%= wf[1] %>">
|
||||
<% if wf[1] == 'title' %>
|
||||
<%= link_to post.send("#{wf[0]}")[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<%= link_to post.send("#{wf[0]}"), panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<% elsif wf[1] == 'date' %>
|
||||
<%= display_date(post.send(wf[0])) %>
|
||||
<% elsif wf[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{wf[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{wf[0]}").title rescue nil %>
|
||||
<% elsif wf[1] == 'text' %>
|
||||
<%#= post.send("#{wf[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{wf[0]}")[I18n.locale].html_safe %>
|
||||
<%= post.send("#{wf[0]}").html_safe %>
|
||||
<% elsif wf[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
@@ -120,14 +120,14 @@
|
||||
<% @widget_fields.each do |wf| %>
|
||||
<span class="<%= wf[1] %>">
|
||||
<% if wf[1] == 'title' %>
|
||||
<%= link_to post.send("#{wf[0]}")[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<%= link_to post.send("#{wf[0]}"), panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<% elsif wf[1] == 'date' %>
|
||||
<%= display_date(post.send(wf[0])) %>
|
||||
<% elsif wf[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{wf[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{wf[0]}").title rescue nil %>
|
||||
<% elsif wf[1] == 'text' %>
|
||||
<%#= post.send("#{wf[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{wf[0]}")[I18n.locale].html_safe %>
|
||||
<%= post.send("#{wf[0]}").html_safe %>
|
||||
<% elsif wf[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
@@ -170,14 +170,14 @@
|
||||
<% @widget_fields.each do |wf| %>
|
||||
<span class="<%= wf[1] %>">
|
||||
<% if wf[1] == 'title' %>
|
||||
<%= link_to post.send("#{wf[0]}")[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<%= link_to post.send("#{wf[0]}"), panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<% elsif wf[1] == 'date' %>
|
||||
<%= display_date(post.send(wf[0])) %>
|
||||
<% elsif wf[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{wf[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{wf[0]}").title rescue nil %>
|
||||
<% elsif wf[1] == 'text' %>
|
||||
<%#= post.send("#{wf[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{wf[0]}")[I18n.locale].html_safe %>
|
||||
<%= post.send("#{wf[0]}").html_safe %>
|
||||
<% elsif wf[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
@@ -218,14 +218,14 @@
|
||||
<% @widget_fields.each do |wf| %>
|
||||
<span class="<%= wf[1] %>">
|
||||
<% if wf[1] == 'title' %>
|
||||
<%= link_to post.send("#{wf[0]}")[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<%= link_to post.send("#{wf[0]}"), panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<% elsif wf[1] == 'date' %>
|
||||
<%= display_date(post.send(wf[0])) %>
|
||||
<% elsif wf[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{wf[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{wf[0]}").title rescue nil %>
|
||||
<% elsif wf[1] == 'text' %>
|
||||
<%#= post.send("#{wf[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{wf[0]}")[I18n.locale].html_safe %>
|
||||
<%= post.send("#{wf[0]}").html_safe %>
|
||||
<% elsif wf[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
|
||||
<%= stylesheet_link_tag "default_widget" %>
|
||||
<script type='text/javascript' src='/assets/jquery.mu.image.resize.js'></script>
|
||||
<script type='text/javascript' src='/assets/jquery.mu.image.resize.degsin.js'></script>
|
||||
|
||||
|
||||
@@ -23,4 +23,8 @@ zh_tw:
|
||||
add_new: 新增
|
||||
categories: 分類
|
||||
approval_setting: 審核權限
|
||||
tags: 標籤
|
||||
tags: 標籤
|
||||
default_widget:
|
||||
bulletin_category_with_title: 分類
|
||||
title: 標題
|
||||
postdate: 張貼日期
|
||||
+2
-2
@@ -6,11 +6,11 @@
|
||||
<div class="quick-edit">
|
||||
<ul class="nav nav-pills hide">
|
||||
<li><%= link_to t('archive_file_category.edit'), edit_panel_archive_back_end_archive_file_category_path(archive_file_category), :remote => true %></li>
|
||||
<li><%= link_to t('archive_file_category.delete'), panel_archive_back_end_archive_file_category_path(archive_file_category), :confirm => t('announcement.sure?'), :method => :delete, :remote => true %></li>
|
||||
<li><%= link_to t('archive_file_category.delete'), panel_archive_back_end_archive_file_category_path(archive_file_category), :confirm => t('sure?'), :method => :delete, :remote => true %></li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
<% @site_valid_locales.each do |locale| %>
|
||||
<td><%= archive_file_category.title_translations[locale] rescue nil %></td>
|
||||
<% end %>
|
||||
</tr>
|
||||
</tr>
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"title": "calendar",
|
||||
"version": "0.1",
|
||||
"organization": "Rulingcom",
|
||||
"author": "Visual dep",
|
||||
"intro": "A simple and amazing calendar",
|
||||
"update_info": "Some info",
|
||||
"create_date": "11-08-2012",
|
||||
"app_pages": ["calendar"],
|
||||
"widgets": [],
|
||||
"category": [],
|
||||
"widget_fields":[],
|
||||
"enable_frontend": true
|
||||
}
|
||||
Vendored
+1
-1
@@ -177,7 +177,7 @@ class Panel::Gallery::BackEnd::AlbumsController < OrbitBackendController
|
||||
theater_link: panel_gallery_back_end_album_image_path(values),
|
||||
description: values.description,
|
||||
title: values.title,
|
||||
file: values.file,
|
||||
file: values.file.as_json[:file],
|
||||
gallery_album_id: values.gallery_album_id,
|
||||
tag_ids: values.tag_ids,
|
||||
tag_names: tags}
|
||||
|
||||
Vendored
+97
-103
@@ -1,110 +1,104 @@
|
||||
class Panel::Gallery::FrontEnd::AlbumsController < OrbitWidgetController
|
||||
|
||||
def index
|
||||
|
||||
end
|
||||
def index
|
||||
end
|
||||
|
||||
def show
|
||||
@album = GalleryAlbum.find(params[:id])
|
||||
@tags = Array.new
|
||||
@album.tag_ids.each do |tag|
|
||||
@tags << GalleryTag.find(tag)[I18n.locale]
|
||||
end
|
||||
def show
|
||||
@album = GalleryAlbum.find(params[:id])
|
||||
@tags = Array.new
|
||||
@album.tag_ids.each do |tag|
|
||||
@tags << GalleryTag.find(tag)[I18n.locale]
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
def get_albums
|
||||
@categoryids = params["cid"]
|
||||
@tags = params["tid"]
|
||||
@albums = Array.new
|
||||
if @categoryids == "all"
|
||||
if @tags
|
||||
if @tags.kind_of?(Array)
|
||||
@tags.each do |tag|
|
||||
@albums << GalleryAlbum.where(tag_ids: tag)
|
||||
end
|
||||
else
|
||||
@albums << GalleryAlbum.where(tag_ids: @tags)
|
||||
end
|
||||
else
|
||||
@albums << GalleryAlbum.all
|
||||
end
|
||||
else
|
||||
@categoryids.each do |id|
|
||||
category = GalleryCategory.find(id)
|
||||
if @tags
|
||||
if @tags.kind_of?(Array)
|
||||
@tags.each do |tag|
|
||||
@albums << category.gallery_albums.where(tag_ids: tag)
|
||||
end
|
||||
else
|
||||
@albums << category.gallery_albums.where(tag_ids: @tags)
|
||||
end
|
||||
else
|
||||
@albums << category.gallery_albums.all
|
||||
end
|
||||
end
|
||||
end
|
||||
@output = Array.new
|
||||
@albums.each do |album|
|
||||
@albs = Array.new
|
||||
album.each do |values|
|
||||
tags = Array.new
|
||||
values.tag_ids.each do |tag|
|
||||
tags << GalleryTag.find(tag)[I18n.locale]
|
||||
end
|
||||
category = GalleryCategory.find(values.gallery_category_id).name
|
||||
@albs << {"_id"=>values.id,"show_path"=>panel_gallery_front_end_album_path(values),"cover"=>values.cover,"cover_path"=>values.cover_path,"description"=>values.description,"category_name"=>category,"gallery_category_id" => values.gallery_category_id,"name"=>values.name,"tag_ids"=>values.tag_ids,"tag_names"=>tags}
|
||||
end
|
||||
@output << @albs
|
||||
end
|
||||
render :json=>@output.to_json
|
||||
end
|
||||
|
||||
def get_albums
|
||||
@categoryids = params["cid"]
|
||||
@tags = params["tid"]
|
||||
@albums = Array.new
|
||||
if @categoryids == "all"
|
||||
if @tags
|
||||
if @tags.kind_of?(Array)
|
||||
@tags.each do |tag|
|
||||
@albums << GalleryAlbum.where(tag_ids: tag)
|
||||
end
|
||||
else
|
||||
@albums << GalleryAlbum.where(tag_ids: @tags)
|
||||
end
|
||||
else
|
||||
@albums << GalleryAlbum.all
|
||||
end
|
||||
else
|
||||
@categoryids.each do |id|
|
||||
category = GalleryCategory.find(id)
|
||||
if @tags
|
||||
if @tags.kind_of?(Array)
|
||||
@tags.each do |tag|
|
||||
@albums << category.gallery_albums.where(tag_ids: tag)
|
||||
end
|
||||
else
|
||||
@albums << category.gallery_albums.where(tag_ids: @tags)
|
||||
end
|
||||
else
|
||||
@albums << category.gallery_albums.all
|
||||
end
|
||||
end
|
||||
end
|
||||
@output = Array.new
|
||||
@albums.each do |album|
|
||||
@albs = Array.new
|
||||
album.each do |values|
|
||||
tags = Array.new
|
||||
values.tag_ids.each do |tag|
|
||||
tags << GalleryTag.find(tag)[I18n.locale]
|
||||
end
|
||||
category = GalleryCategory.find(values.gallery_category_id).name
|
||||
@albs << {"_id"=>values.id,"show_path"=>panel_gallery_front_end_album_path(values),"cover"=>values.cover,"cover_path"=>values.cover_path,"description"=>values.description,"category_name"=>category,"gallery_category_id" => values.gallery_category_id,"name"=>values.name,"tag_ids"=>values.tag_ids,"tag_names"=>tags}
|
||||
end
|
||||
@output << @albs
|
||||
end
|
||||
render :json=>@output.to_json
|
||||
end
|
||||
|
||||
|
||||
|
||||
def imgs
|
||||
@album = GalleryAlbum.find(params[:id])
|
||||
@images = @album.gallery_images.all
|
||||
@output = Array.new
|
||||
@images.each do |values|
|
||||
tags = Array.new
|
||||
values.tag_ids.each do |tag|
|
||||
tags << GalleryTag.find(tag)[I18n.locale]
|
||||
end
|
||||
@output << {"_id"=>values.id,"theater_link"=>theater_panel_gallery_front_end_album_path(values),"description"=>values.description,"title"=>values.title,"file"=>values.file,"gallery_album_id"=>values.gallery_album_id,"tag_ids"=>values.tag_ids,"tag_names"=>tags}
|
||||
end
|
||||
render :json=>{"images" => @output}.to_json
|
||||
end
|
||||
|
||||
def images_tags
|
||||
album = GalleryAlbum.find(params[:album_id])
|
||||
tags = Array.new
|
||||
images = album.gallery_images.all
|
||||
images.each do |image|
|
||||
tags << {"id"=>image.id, "tags" => image.tag_ids}
|
||||
end
|
||||
render :json=>tags.to_json
|
||||
end
|
||||
|
||||
def theater
|
||||
@image = GalleryImage.find(params[:id])
|
||||
@albumid = @image.gallery_album_id
|
||||
@album = GalleryAlbum.find(@albumid)
|
||||
@images = @album.gallery_images.all
|
||||
tags = @album.tag_ids
|
||||
@tagnames = Array.new
|
||||
tags.each do |tag|
|
||||
@tagnames << GalleryTag.find(tag)[I18n.locale]
|
||||
end
|
||||
@back_link = panel_gallery_front_end_album_path(@albumid)
|
||||
end
|
||||
def imgs
|
||||
@album = GalleryAlbum.find(params[:id])
|
||||
@images = @album.gallery_images.all
|
||||
@output = Array.new
|
||||
@images.each do |values|
|
||||
tags = Array.new
|
||||
values.tag_ids.each do |tag|
|
||||
tags << GalleryTag.find(tag)[I18n.locale]
|
||||
end
|
||||
@output << {:_id => values.id,
|
||||
:theater_link => theater_panel_gallery_front_end_album_path(values),
|
||||
:description => values.description,
|
||||
:title => values.title,
|
||||
:file => values.file.as_json[:file],
|
||||
:gallery_album_id => values.gallery_album_id,
|
||||
:tag_ids => values.tag_ids,
|
||||
:tag_names => tags}
|
||||
end
|
||||
render :json=>{:images => @output}.to_json
|
||||
end
|
||||
|
||||
def images_tags
|
||||
album = GalleryAlbum.find(params[:album_id])
|
||||
tags = Array.new
|
||||
images = album.gallery_images.all
|
||||
images.each do |image|
|
||||
tags << {"id"=>image.id, "tags" => image.tag_ids}
|
||||
end
|
||||
render :json=>tags.to_json
|
||||
end
|
||||
|
||||
def theater
|
||||
@image = GalleryImage.find(params[:id])
|
||||
@albumid = @image.gallery_album_id
|
||||
@album = GalleryAlbum.find(@albumid)
|
||||
@images = @album.gallery_images.all
|
||||
tags = @album.tag_ids
|
||||
@tagnames = Array.new
|
||||
tags.each do |tag|
|
||||
@tagnames << GalleryTag.find(tag)[I18n.locale]
|
||||
end
|
||||
@back_link = panel_gallery_front_end_album_path(@albumid)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+11
-6
@@ -1,21 +1,26 @@
|
||||
class Panel::Gallery::Widget::AlbumsController < OrbitWidgetController
|
||||
|
||||
def widget1
|
||||
@settings = {"vertical"=>2,"horizontal"=>6} #[note] horizontal has it's limitation from 2 to 6
|
||||
@part = PagePart.find(params[:part_id])
|
||||
|
||||
vertical = @part.widget_options['vertical'].to_i rescue 0
|
||||
horizontal = @part.widget_options['horizontal'].to_i rescue 0
|
||||
|
||||
@album = GalleryAlbum.find(@part.widget_options['album_id']) rescue nil
|
||||
@album_images = @album.gallery_images if @album
|
||||
|
||||
@settings = {"vertical"=>vertical,"horizontal"=>horizontal} #[note] horizontal has it's limitation from 2 to 6
|
||||
@class = "c" + @settings["horizontal"].to_s
|
||||
@total = @settings["vertical"] * @settings["horizontal"]
|
||||
@rnd = Random.new
|
||||
@images = []
|
||||
for i in 0..@total-1
|
||||
@sn = @rnd.rand(0...GalleryImage.count)
|
||||
if @sn < 0
|
||||
@sn = @sn * -1
|
||||
end
|
||||
image = GalleryImage.skip(@sn).limit(1).first
|
||||
image = @album_images[@rnd.rand(0...@album_images.count)]
|
||||
values = {"show_link"=>theater_panel_gallery_front_end_album_path(image),"thumb"=>image.file.thumb.url}
|
||||
@images << values
|
||||
end
|
||||
end
|
||||
|
||||
def widget2
|
||||
|
||||
end
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
<div id="imgholder">
|
||||
<ul class="breadcrumb">
|
||||
<li><span>Home</span><span class="divider">/</span></li>
|
||||
<li><span><%= t(:gallery) %></span><span class="divider">/</span></li>
|
||||
<li><span><%= t('gallery.gallery') %></span><span class="divider">/</span></li>
|
||||
<li class="text-blue"><%= t('gallery.edit') %></li>
|
||||
</ul>
|
||||
<ul class="nav nav-tabs">
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
<ul class="breadcrumb">
|
||||
<li><span>Home</span><span class="divider">/</span></li>
|
||||
<li><span><%= t(:gallery) %></span><span class="divider">/</span></li>
|
||||
<li><span><%= t('gallery.gallery') %></span><span class="divider">/</span></li>
|
||||
<li class="text-blue"><%= t('gallery.edit') %></li>
|
||||
</ul>
|
||||
<ul class="nav nav-tabs">
|
||||
|
||||
-2
@@ -3,8 +3,6 @@
|
||||
<%#= javascript_include_tag "cycle" %>
|
||||
<%# end %>
|
||||
<div class="four columns">
|
||||
<h4>Gallery Widget</h4>
|
||||
<p>WIDGET 1</p>
|
||||
<div class="widget_gallery w1 <%= @class %>">
|
||||
<ul>
|
||||
<% @images.each do |image| %>
|
||||
|
||||
@@ -33,3 +33,6 @@ en:
|
||||
set_cover: Set as Album Cover
|
||||
sure?: "Are you sure?"
|
||||
no_description: Description Unavailable
|
||||
widget_option:
|
||||
horizontal: Horizontal Pictures
|
||||
vertical: Vertical Pictures
|
||||
@@ -32,4 +32,7 @@ zh_tw:
|
||||
cover: 封面
|
||||
set_cover: 設為封面
|
||||
sure?: "你確定嗎?"
|
||||
no_description: 沒有描述
|
||||
no_description: 沒有描述
|
||||
widget_option:
|
||||
horizontal: 水平圖片數量
|
||||
vertical: 垂直圖片數量
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
module Panel::WebResource::BackEnd::WebLinkCategorysHelper
|
||||
include ActionView::Helpers::UrlHelper
|
||||
|
||||
def show_web_link_permission_link(web_link)
|
||||
type = 'edit'
|
||||
oa = web_link.get_object_auth_by_title(type)
|
||||
if oa.nil?
|
||||
web_link.object_auths.new(title: type ).save
|
||||
oa = web_link.get_object_auth_by_title(type)
|
||||
end
|
||||
link_to t(:category_auth),admin_object_auth_ob_auth_path(oa)
|
||||
end
|
||||
end
|
||||
Vendored
+27
@@ -0,0 +1,27 @@
|
||||
<% if @current_category %>
|
||||
<h1 class="h1"><%= @current_category.title + " " + t(:list_lower) %></h1>
|
||||
<% elsif @tag %>
|
||||
<h1 class="h1"><%= @tag[I18n.locale] + " " + t(:list_lower) %></h1>
|
||||
<% else %>
|
||||
<h1 class="h1"><%= t('list.link') %></h1>
|
||||
<% end %>
|
||||
|
||||
<table class="table table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><%= t(:category) %></th>
|
||||
<th><%= t(:name) %></th>
|
||||
</tr>
|
||||
<% @web_links.each do |post| %>
|
||||
<tr>
|
||||
<td><%= post.web_link_category.title rescue nil %></td>
|
||||
<td>
|
||||
<%= link_to post.title, post.url, {:target => '_blank', :title => post.title} %>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<%#= paginate @web_links, :params => {:inner => 'true'}, :remote => true %>
|
||||
<%= paginate @web_links, :params => {:inner => 'false'}, :remote => true %>
|
||||
Vendored
+3
-26
@@ -1,26 +1,3 @@
|
||||
<% if @current_category %>
|
||||
<h1 class="h1"><%= @current_category.title + " " + t(:list_lower) %></h1>
|
||||
<% elsif @tag %>
|
||||
<h1 class="h1"><%= @tag[I18n.locale] + " " + t(:list_lower) %></h1>
|
||||
<% else %>
|
||||
<h1 class="h1"><%= t('list.link') %></h1>
|
||||
<% end %>
|
||||
|
||||
<table class="table table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><%= t(:category) %></th>
|
||||
<th><%= t(:name) %></th>
|
||||
</tr>
|
||||
<% @web_links.each do |post| %>
|
||||
<tr>
|
||||
<td><%= post.web_link_category.title rescue nil %></td>
|
||||
<td>
|
||||
<%= link_to post.title, post.url, {:target => '_blank', :title => post.title} %>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<%= paginate @web_links, :params => {:inner => 'false'} %>
|
||||
<div id="web_link_widget">
|
||||
<%= render 'index' %>
|
||||
</div>
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
$('#web_link_widget').html("<%= j render 'index' %>")
|
||||
Reference in new issue
Block a user