add ckeditor to title and add title to a tag
This commit is contained in:
parent
31b331d852
commit
a4ddbb351d
|
@ -332,18 +332,20 @@ class Admin::AnnouncementsController < OrbitAdminController
|
|||
|
||||
is_sent = bulletin.email.is_sent
|
||||
is_sent = !params[:resend_mail].eql?("true") if !params[:resend_mail].blank?
|
||||
|
||||
doc = Nokogiri::HTML(bulletin.title)
|
||||
title = doc.text.empty? ? 'no content' : doc.text
|
||||
|
||||
bulletin.email.update_attributes(
|
||||
:create_user=>current_user,
|
||||
:mail_sentdate=>bulletin.email_sentdate,
|
||||
:module_app=>@module_app,
|
||||
:mail_lang => I18n.locale,
|
||||
:mail_to=>bulletin.email_addresses,
|
||||
:mail_subject=>bulletin.title,
|
||||
:mail_subject=>title,
|
||||
:template=>'announcements/email',
|
||||
:template_data=>{
|
||||
"host" => request.host_with_port,
|
||||
"title" => bulletin.title,
|
||||
"title" => title,
|
||||
"url" => page_for_bulletin(bulletin)
|
||||
},
|
||||
:is_sent=>is_sent
|
||||
|
|
|
@ -22,6 +22,8 @@ class AnnouncementsController < ApplicationController
|
|||
desc = (desc.nil? || desc == "" ? "announcement image" : desc)
|
||||
link_to_show = a.is_external_link ? a.external_link : OrbitHelper.url_to_show(a.to_param)
|
||||
target = a.is_external_link ? "_blank" : "_self"
|
||||
doc = Nokogiri::HTML(a.title)
|
||||
title = doc.text.empty? ? 'no content' : doc.text
|
||||
anns << {
|
||||
"bulletin_links" => links,
|
||||
"bulletin_files" => files,
|
||||
|
@ -35,7 +37,7 @@ class AnnouncementsController < ApplicationController
|
|||
"postdate" => a.postdate,
|
||||
"author" => author,
|
||||
"is_top" => (a.is_top? ? 1 : 0),
|
||||
"link_to_show" => link_to_show,
|
||||
"link_to_show" => link_to_show+"\" title=\"#{title}\"",
|
||||
"target" => target,
|
||||
"img_src" => a.image.thumb.url || "/assets/announcement-default.jpg",
|
||||
"img_description" => desc,
|
||||
|
|
|
@ -9,7 +9,7 @@ class Bulletin
|
|||
include OrbitCategory::Categorizable
|
||||
include Slug
|
||||
|
||||
field :title, as: :slug_title, type: String, localize: true
|
||||
field :title, type: String, localize: true
|
||||
field :subtitle, localize: true
|
||||
field :text, localize: true
|
||||
field :create_user_id
|
||||
|
@ -51,7 +51,10 @@ class Bulletin
|
|||
scope :is_approved, ->{where(:approved => true)}
|
||||
|
||||
before_create :set_expire
|
||||
|
||||
def slug_title
|
||||
doc = Nokogiri::HTML(self.title)
|
||||
title = doc.text.gsub('/','-')
|
||||
end
|
||||
def set_expire
|
||||
self.expirable_created_at = Time.now if self.is_preview
|
||||
return true
|
||||
|
|
|
@ -242,7 +242,7 @@
|
|||
<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) %>
|
||||
<%= f.text_area locale, class: "ckeditor input-block-level", placeholder: t(:title), value: (@bulletin.title_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -253,7 +253,7 @@
|
|||
<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) %>
|
||||
<%= f.text_area locale, rows: 2, class: "ckeditor input-block-level", value: (@bulletin.subtitle_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<% if b.expired? || (b.category.disable rescue false)%>
|
||||
<%= b.title %>
|
||||
<% else %>
|
||||
<a href="<%= page_for_bulletin(b) %>" target="_blank"><%= b.title %></a>
|
||||
<a href="<%= page_for_bulletin(b) %>" target="_blank"><%= b.title.html_safe %></a>
|
||||
<% end %>
|
||||
|
||||
<% if b.expired? %>
|
||||
|
|
|
@ -1,69 +1,69 @@
|
|||
<%
|
||||
require 'announcements_helper'
|
||||
params = OrbitHelper.params
|
||||
page = Page.where(url:params['url']).first
|
||||
@show_back_and_next_flag = 0
|
||||
if page.methods.include? 'select_option_items'.to_sym
|
||||
ModuleApp.all.select{|tmp| tmp.key.to_s=='announcement'}.each do |modile_app|
|
||||
@show_option_items = modile_app.show_option_items rescue nil
|
||||
end
|
||||
page.select_option_items.each do |select_option_item|
|
||||
if !(@show_option_items.nil?) && select_option_item.field_name == @show_option_items.keys.first.to_s
|
||||
value = YAML.load(select_option_item.value)
|
||||
if value[I18n.locale] == t('announcement.not_show')
|
||||
@show_back_and_next_flag = 0
|
||||
elsif value[I18n.locale] == t('announcement.show_top')
|
||||
@show_back_and_next_flag = 1
|
||||
elsif value[I18n.locale] == t('announcement.show_bottom')
|
||||
@show_back_and_next_flag = 2
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
if @show_back_and_next_flag != 0
|
||||
uid = params['uid']
|
||||
announcements,sorted = get_sorted_annc
|
||||
now_index = sorted.to_enum.with_index.select{|v| v[0].uid==uid}[0][1]
|
||||
if now_index != 0
|
||||
prev_result = sorted[now_index-1]
|
||||
prev_url = params['url'] + '/' + prev_result.to_param
|
||||
prev_content = "<a href='#{prev_url}' class='prev'><b>#{t('announcement.prev')}</b><p>#{prev_result['title'][I18n.locale]}</p></a>"
|
||||
end
|
||||
if now_index != sorted.length-1
|
||||
next_result = sorted[now_index+1]
|
||||
next_url = params['url'] + '/' + next_result.to_param
|
||||
next_content = "<a href='#{next_url}' class='next'><b>#{t('announcement.next')}</b><p>#{next_result['title'][I18n.locale]}</p></a>"
|
||||
end
|
||||
content = "<div class='see_more_boxTitle'>#{prev_content}#{next_content}</div>".html_safe
|
||||
end
|
||||
%>
|
||||
<% if @show_back_and_next_flag!=0 %>
|
||||
<style type="text/css">
|
||||
.see_more_boxTitle{
|
||||
display: flex;
|
||||
margin: 1em 0em;
|
||||
padding: 1em;
|
||||
border: 0.2em solid;
|
||||
}
|
||||
a.prev, a.next{
|
||||
width: 50%;
|
||||
border: 0.2em solid;
|
||||
padding: 1em;
|
||||
flex: 1;
|
||||
}
|
||||
a.next{
|
||||
margin-left: 1em;
|
||||
}
|
||||
a.prev{
|
||||
margin-right: 1em;
|
||||
}
|
||||
</style>
|
||||
<% end %>
|
||||
|
||||
<% if @show_back_and_next_flag==1 %>
|
||||
<%= content %>
|
||||
<% end %>
|
||||
<%= render_view %>
|
||||
<% if @show_back_and_next_flag==2 %>
|
||||
<%= content %>
|
||||
<%
|
||||
require 'announcements_helper'
|
||||
params = OrbitHelper.params
|
||||
page = Page.where(url:params['url']).first
|
||||
@show_back_and_next_flag = 0
|
||||
if page.methods.include? 'select_option_items'.to_sym
|
||||
ModuleApp.all.select{|tmp| tmp.key.to_s=='announcement'}.each do |modile_app|
|
||||
@show_option_items = modile_app.show_option_items rescue nil
|
||||
end
|
||||
page.select_option_items.each do |select_option_item|
|
||||
if !(@show_option_items.nil?) && select_option_item.field_name == @show_option_items.keys.first.to_s
|
||||
value = YAML.load(select_option_item.value)
|
||||
if value[I18n.locale] == t('announcement.not_show')
|
||||
@show_back_and_next_flag = 0
|
||||
elsif value[I18n.locale] == t('announcement.show_top')
|
||||
@show_back_and_next_flag = 1
|
||||
elsif value[I18n.locale] == t('announcement.show_bottom')
|
||||
@show_back_and_next_flag = 2
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
if @show_back_and_next_flag != 0
|
||||
uid = params['uid']
|
||||
announcements,sorted = get_sorted_annc
|
||||
now_index = sorted.to_enum.with_index.select{|v| v[0].uid==uid}[0][1]
|
||||
if now_index != 0
|
||||
prev_result = sorted[now_index-1]
|
||||
prev_url = params['url'] + '/' + prev_result.to_param
|
||||
prev_content = "<a href='#{prev_url}' title='#{t('announcement.prev')}' class='prev'><b>#{t('announcement.prev')}</b><p>#{prev_result['title'][I18n.locale]}</p></a>"
|
||||
end
|
||||
if now_index != sorted.length-1
|
||||
next_result = sorted[now_index+1]
|
||||
next_url = params['url'] + '/' + next_result.to_param
|
||||
next_content = "<a href='#{next_url}' title='#{t('announcement.next')}' class='next'><b>#{t('announcement.next')}</b><p>#{next_result['title'][I18n.locale]}</p></a>"
|
||||
end
|
||||
content = "<div class='see_more_boxTitle'>#{prev_content}#{next_content}</div>".html_safe
|
||||
end
|
||||
%>
|
||||
<% if @show_back_and_next_flag!=0 %>
|
||||
<style type="text/css">
|
||||
.see_more_boxTitle{
|
||||
display: flex;
|
||||
margin: 1em 0em;
|
||||
padding: 1em;
|
||||
border: 0.2em solid;
|
||||
}
|
||||
a.prev, a.next{
|
||||
width: 50%;
|
||||
border: 0.2em solid;
|
||||
padding: 1em;
|
||||
flex: 1;
|
||||
}
|
||||
a.next{
|
||||
margin-left: 1em;
|
||||
}
|
||||
a.prev{
|
||||
margin-right: 1em;
|
||||
}
|
||||
</style>
|
||||
<% end %>
|
||||
|
||||
<% if @show_back_and_next_flag==1 %>
|
||||
<%= content %>
|
||||
<% end %>
|
||||
<%= render_view %>
|
||||
<% if @show_back_and_next_flag==2 %>
|
||||
<%= content %>
|
||||
<% end %>
|
Loading…
Reference in New Issue