Compare commits
13
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9162c4306c | ||
|
|
33f256bd16 | ||
|
|
fde9fd7ffe | ||
|
|
d977b83d06 | ||
|
|
a1eae7543e | ||
|
|
8d9bf62909 | ||
|
|
2f480c31bf | ||
|
|
19d33f78bd | ||
|
|
37c91664d3 | ||
|
|
eb853f773d | ||
|
|
d701d9d6ad | ||
|
|
75eeec737c | ||
|
|
36c3635bbb |
No files matched your search
@@ -1,8 +1,6 @@
|
||||
source 'http://rubygems.org'
|
||||
gem 'rails', "~> 3.2.9"
|
||||
|
||||
gem 'savon', '~> 2.2.0'
|
||||
|
||||
gem "brakeman"
|
||||
gem 'mime-types'
|
||||
|
||||
@@ -17,6 +15,9 @@ gem 'jquery-rails', '2.1.4'
|
||||
gem 'jquery-ui-rails'
|
||||
gem "select2-rails", '3.3.1'
|
||||
gem 'kaminari', :git => 'git://github.com/amatsuda/kaminari.git'
|
||||
gem "acts_as_unvlogable"
|
||||
gem 'youtube_it'
|
||||
gem 'gotcha'
|
||||
|
||||
# gem "memcached", "~> 1.4.3"
|
||||
# gem "memcache-client"
|
||||
|
||||
@@ -12,22 +12,22 @@ class DefaultWidgetController< OrbitWidgetController
|
||||
|
||||
def query_for_default_widget
|
||||
|
||||
@ori_class_name = @default_widget["query"].split('.')[0]
|
||||
@ori_query = @default_widget["query"]
|
||||
@ori_class_name = @default_widget["query"].split('.')[0]
|
||||
result = nil
|
||||
result_objects = nil
|
||||
|
||||
if !params["tag_id"].blank?
|
||||
if params["category_id"].blank? #has tag no cate
|
||||
result = eval("#{@ori_query}.where(:tagged_ids.in => params['tag_id'])")
|
||||
result = @ori_class_name.constantize.where(:tagged_ids.in => params["tag_id"])
|
||||
else #has tag and cate
|
||||
result = eval("#{@ori_query}.where(:#{get_category_field_name}.in=>params['category_id'], :tagged_ids.in => params['tag_id'])")
|
||||
result = eval("#{@ori_class_name}.where(:#{get_category_field_name}.in=>params['category_id'], :tagged_ids.in => params['tag_id'])")
|
||||
end
|
||||
elsif params["category_id"].blank? #no tag no cate
|
||||
result = eval(@ori_query)
|
||||
result = eval(@default_widget["query"])
|
||||
else #no tag has cate
|
||||
result = eval("#{@ori_query}.where(:#{get_category_field_name}.in=>params['category_id'])")
|
||||
result = eval("#{@ori_class_name}.where(:#{get_category_field_name}.in=>params['category_id'])")
|
||||
end
|
||||
result.available_for_lang(I18n.locale).can_display
|
||||
result.available_for_lang(I18n.locale).can_display.desc(:is_top, :postdate)
|
||||
end
|
||||
|
||||
def search_result
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
# encoding: utf-8
|
||||
|
||||
class SessionsController < Devise::SessionsController
|
||||
prepend_before_filter :require_no_authentication, :only => [ :new, :create ]
|
||||
|
||||
require 'savon'
|
||||
|
||||
def create
|
||||
|
||||
@sys_id = params["sys_id"]
|
||||
|
||||
client = Savon.client(wsdl: 'http://sso.ntue.edu.tw/soap/soapserver.php?wsdl')
|
||||
|
||||
client.operations
|
||||
|
||||
response = client.call(:chkidno, message: { sys_id: @sys_id })
|
||||
|
||||
@id = response.body[:chkidno_response][:return][:id]
|
||||
|
||||
login_uid = @id
|
||||
|
||||
resource = User.first(conditions:{user_id: login_uid})
|
||||
|
||||
if !resource.blank?
|
||||
resource_name = resource.class.to_s.downcase
|
||||
sign_in(resource_name, resource)
|
||||
redirect_to after_sign_in_path_for(resource)
|
||||
else
|
||||
flash[:error] = "很抱歉,您無此權限或帳號登入本站,請洽本站管理員<br />Sorry, you don't have the account or authority to login. Please contact the website administrator."
|
||||
redirect_to :root
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
@@ -34,15 +34,15 @@ Orbit::Application.configure do
|
||||
# :sender_address => %{"notifier" <redmine@rulingcom.com>},
|
||||
# :exception_recipients => %w{chris@rulingcom.com}
|
||||
|
||||
# config.action_mailer.delivery_method = :smtp
|
||||
# config.action_mailer.smtp_settings = {
|
||||
# :enable_starttls_auto => true,
|
||||
# :address => "smtp.gmail.com",
|
||||
# :port => '587',
|
||||
# :domain => "smtp.gmail.com",
|
||||
# :authentication => "plain",
|
||||
# :user_name => "redmine@rulingcom.com",
|
||||
# :password => "rulingredmine" }
|
||||
config.action_mailer.delivery_method = :smtp
|
||||
config.action_mailer.smtp_settings = {
|
||||
:enable_starttls_auto => true,
|
||||
:address => "smtp.gmail.com",
|
||||
:port => '587',
|
||||
:domain => "smtp.gmail.com",
|
||||
:authentication => "plain",
|
||||
:user_name => "redmine@rulingcom.com",
|
||||
:password => "rulingredmine" }
|
||||
|
||||
end
|
||||
|
||||
+2
-2
@@ -8,7 +8,7 @@ defaults: &defaults
|
||||
|
||||
development:
|
||||
<<: *defaults
|
||||
database: demo_site_development
|
||||
database: test_site
|
||||
test:
|
||||
<<: *defaults
|
||||
database: test_site
|
||||
@@ -21,4 +21,4 @@ production:
|
||||
# password: <%= ENV['MONGOID_PASSWORD'] %>
|
||||
# database: <%= ENV['MONGOID_DATABASE'] %>
|
||||
<<: *defaults
|
||||
database: demo_site_production
|
||||
database: test_site
|
||||
@@ -7,11 +7,6 @@ Orbit::Application.routes.draw do
|
||||
match "/users_passwd" => "desktop/registrations#update", :as => :users_passwd, :via => :put
|
||||
end
|
||||
|
||||
devise_scope :user do
|
||||
get 'soap_login' => 'sessions#create'
|
||||
end
|
||||
|
||||
|
||||
mount Resque::Server, :at => "/admin/resque"
|
||||
mount Rack::GridFS::Endpoint.new(:db => Mongoid.database,:lookup=>:path), :at => "gridfs"
|
||||
|
||||
|
||||
File renamed without changes.
@@ -0,0 +1,6 @@
|
||||
[{"old_id":1,"key":"administrative","title_translations":{"en":"Official","zh_tw":"行政公告"}}
|
||||
,{"old_id":2,"key":"events","title_translations":{"en":"Activities","zh_tw":"活動"}}
|
||||
,{"old_id":3,"key":"intern_opportunities","title_translations":{"en":"Internship","zh_tw":"實習機會"}}
|
||||
,{"old_id":4,"key":"scholarship_and_exchange_student","title_translations":{"en":"Scholarship","zh_tw":"獎學金與交換生資訊"}}
|
||||
,{"old_id":5,"key":"news","title_translations":{"en":"Newsletter","zh_tw":"新聞"}}
|
||||
,{"old_id":6,"key":"enrollments","title_translations":{"en":"Admission","zh_tw":"招生資訊"}}]
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,55 @@
|
||||
# encoding: utf-8
|
||||
require 'pry'
|
||||
namespace :import do
|
||||
task :ntu_mb_news_report => :environment do
|
||||
|
||||
jfile = File.new("#{Rails.root}/lib/import_data/news_report.json").read
|
||||
jdata = JSON.parse(jfile)
|
||||
|
||||
end
|
||||
|
||||
task :ntu_mb => :environment do
|
||||
DEPARTMENTS = %w[Management BA Acc Fin IB IM EMBA GMBA]
|
||||
print 'Enter the numer of department you want to import'
|
||||
puts DEPARTMENTS.map.with_index{|t,i| "#{i}.#{t}" }.to_s
|
||||
num = STDIN.gets.gsub("\n",'').to_i
|
||||
|
||||
puts "Destroy all BulletinCategory? (Default No)"
|
||||
if STDIN.gets.gsub("\n",'').downcase == 'yes'
|
||||
BulletinCategory.destroy_all
|
||||
else
|
||||
puts "Did not destroy"
|
||||
end
|
||||
jfile = File.new("#{Rails.root}/lib/import_data/announce_categories.json").read
|
||||
jdata = JSON.parse(jfile)
|
||||
jdata.each do |data|
|
||||
a = BulletinCategory.new data
|
||||
a.save
|
||||
end
|
||||
news_report_category = BulletinCategory.new {"key":"news_report","title_translations":{"en":"NewsReport","zh_tw":"新聞報導"}}
|
||||
puts "Imported #{jdata.count}+1(NewsReport)"
|
||||
|
||||
|
||||
puts "Destroy all Bulletin? (Default No)"
|
||||
if STDIN.gets.gsub("\n",'').downcase == 'yes'
|
||||
Bulletin.destroy_all
|
||||
else
|
||||
puts "Did not destroy"
|
||||
end
|
||||
counter = 0
|
||||
jfile = File.new("#{Rails.root}/lib/import_data/announcements.json").read
|
||||
jdata = JSON.parse(jfile)
|
||||
jdata.each do |data|
|
||||
# puts data
|
||||
# puts DEPARTMENTS[num]
|
||||
if data["department"] == DEPARTMENTS[num]
|
||||
a = Bulletin.new data
|
||||
a.bulletin_category = BulletinCategory.where(:key=>data["category_key"]).first
|
||||
a.save
|
||||
counter = counter +1
|
||||
end
|
||||
end
|
||||
puts "Imported #{counter}"
|
||||
|
||||
end
|
||||
end
|
||||
-73
@@ -1,4 +1,3 @@
|
||||
# encoding: utf-8
|
||||
class Panel::Announcement::BackEnd::ApprovalsController < OrbitBackendController
|
||||
before_filter :authenticate_user!
|
||||
before_filter :is_admin?
|
||||
@@ -7,7 +6,6 @@ class Panel::Announcement::BackEnd::ApprovalsController < OrbitBackendControlle
|
||||
|
||||
|
||||
def preview_and_approve
|
||||
email_group_data
|
||||
@bulletin = Bulletin.find params[:bulletin_id]
|
||||
end
|
||||
|
||||
@@ -17,14 +15,6 @@ class Panel::Announcement::BackEnd::ApprovalsController < OrbitBackendControlle
|
||||
@bulletin.proc_check(params[:bulletin][:is_checked],params[:bulletin][:not_checked_reason])
|
||||
@bulletin.de_pending
|
||||
if @bulletin.save
|
||||
|
||||
if @bulletin.email_sent == true && @bulletin.is_checked == true && !@bulletin.is_rejected
|
||||
send_email_data(@bulletin)
|
||||
|
||||
@bulletin.email_sent = false
|
||||
@bulletin.save
|
||||
end
|
||||
|
||||
notice = t('announcement.approve_bulletin_success')
|
||||
else
|
||||
notice = t('announcement.approve_bulletin_fail')
|
||||
@@ -71,69 +61,6 @@ class Panel::Announcement::BackEnd::ApprovalsController < OrbitBackendControlle
|
||||
object_auth.privilege_users = privilege_users
|
||||
object_auth
|
||||
end
|
||||
|
||||
def send_email_data(bulletin)
|
||||
|
||||
@site = Site.first
|
||||
@user = User.find(bulletin.create_user_id)
|
||||
@host = request.host_with_port
|
||||
|
||||
email_group_data
|
||||
|
||||
@group_mail = Array.new
|
||||
|
||||
bulletin.email_group.each do |egroup|
|
||||
|
||||
if @email_group_data.include?(egroup) and (egroup == '0' or egroup == '1' or egroup == '2' or egroup == '3')
|
||||
|
||||
@group_mail << @email_group_data[egroup]["email"]
|
||||
|
||||
elsif @email_group_data.include?(egroup) and egroup == '4'
|
||||
|
||||
@group_mail << bulletin.other_mailaddress
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
if !@group_mail.join.blank?
|
||||
|
||||
@mail_content = {
|
||||
"host" => @host,
|
||||
"site_title" => @site.title,
|
||||
"title" => bulletin.title,
|
||||
"template" => 'announcement_mailer/cron_mail',
|
||||
"url" => "http://#{@host}#{panel_announcement_front_end_bulletin_path(bulletin, :category_id => bulletin.bulletin_category.id)}"
|
||||
}
|
||||
|
||||
@mail_cron = {
|
||||
:mail_from_app => 'announcement',
|
||||
:mail_from => @user.email,
|
||||
:mail_reply_to => @user.email,
|
||||
:mail_subject => "#{t("announcement.mail_subject",:site_title => @site.title)}:#{bulletin.title}",
|
||||
:mail_to => @group_mail.join(','),
|
||||
:mail_content => @mail_content ,
|
||||
# :mail_sentdate => bulletin.email_sentdate,
|
||||
:mail_sentdate => DateTime.now,
|
||||
:create_user_id => bulletin.create_user_id,
|
||||
:update_user_id => bulletin.create_user_id
|
||||
}
|
||||
|
||||
@mail_cron = MailCron.new(@mail_cron)
|
||||
|
||||
@mail_cron.save
|
||||
|
||||
MailCron.send_mail_now(@mail_cron.id)
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def email_group_data
|
||||
|
||||
@email_group_data = Bulletin.email_group_data
|
||||
|
||||
end
|
||||
|
||||
# def get_categorys(id = nil)
|
||||
# @bulletin_categorys = []
|
||||
|
||||
-85
@@ -1,4 +1,3 @@
|
||||
# encoding: utf-8
|
||||
class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
|
||||
include OrbitControllerLib::DivisionForDisable
|
||||
|
||||
@@ -78,9 +77,6 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
|
||||
# GET /bulletins/new
|
||||
# GET /bulletins/new.xml
|
||||
def new
|
||||
|
||||
email_group_data
|
||||
|
||||
if(session[:in_validate_object].blank?)
|
||||
@bulletin = Bulletin.new(:postdate => DateTime.now)
|
||||
else
|
||||
@@ -98,9 +94,6 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
|
||||
|
||||
# GET /bulletins/1/edit
|
||||
def edit
|
||||
|
||||
email_group_data
|
||||
|
||||
@bulletin = Bulletin.find(params[:id])
|
||||
if !current_user.admin? && (@bulletin.is_rejected? || @bulletin.is_checked?)
|
||||
redirect_to :action => :index
|
||||
@@ -153,13 +146,6 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
|
||||
respond_to do |format|
|
||||
if @bulletin.save
|
||||
|
||||
# if @bulletin.email_sent == true && @bulletin.is_checked == true && !@bulletin.is_rejected
|
||||
# send_email_data(@bulletin)
|
||||
|
||||
# @bulletin.email_sent = false
|
||||
# @bulletin.save
|
||||
# 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
|
||||
@@ -240,14 +226,6 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
|
||||
@bulletin.is_rejected = false
|
||||
@bulletin.de_pending!
|
||||
end
|
||||
|
||||
# if @bulletin.email_sent == true && @bulletin.is_checked == true && !@bulletin.is_rejected
|
||||
# send_email_data(@bulletin)
|
||||
|
||||
# @bulletin.email_sent = false
|
||||
# @bulletin.save
|
||||
# end
|
||||
|
||||
# if (params[:bulletin][:is_checked] == "false")
|
||||
# @bulletin.is_rejected = true
|
||||
# @bulletin.save!
|
||||
@@ -315,69 +293,6 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
|
||||
|
||||
protected
|
||||
|
||||
def send_email_data(bulletin)
|
||||
|
||||
@site = Site.first
|
||||
@user = User.find(bulletin.create_user_id)
|
||||
@host = request.host_with_port
|
||||
|
||||
email_group_data
|
||||
|
||||
@group_mail = Array.new
|
||||
|
||||
bulletin.email_group.each do |egroup|
|
||||
|
||||
if @email_group_data.include?(egroup) and (egroup == '0' or egroup == '1' or egroup == '2' or egroup == '3')
|
||||
|
||||
@group_mail << @email_group_data[egroup]["email"]
|
||||
|
||||
elsif @email_group_data.include?(egroup) and egroup == '4'
|
||||
|
||||
@group_mail << bulletin.other_mailaddress
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
if !@group_mail.join.blank?
|
||||
|
||||
@mail_content = {
|
||||
"host" => @host,
|
||||
"site_title" => @site.title,
|
||||
"title" => bulletin.title,
|
||||
"template" => 'announcement_mailer/cron_mail',
|
||||
"url" => "http://#{@host}#{panel_announcement_front_end_bulletin_path(bulletin, :category_id => bulletin.bulletin_category.id)}"
|
||||
}
|
||||
|
||||
@mail_cron = {
|
||||
:mail_from_app => 'announcement',
|
||||
:mail_from => @user.email,
|
||||
:mail_reply_to => @user.email,
|
||||
:mail_subject => "#{t("announcement.mail_subject",:site_title => @site.title)}:#{bulletin.title}",
|
||||
:mail_to => @group_mail.join(','),
|
||||
:mail_content => @mail_content ,
|
||||
# :mail_sentdate => bulletin.email_sentdate,
|
||||
:mail_sentdate => DateTime.now,
|
||||
:create_user_id => bulletin.create_user_id,
|
||||
:update_user_id => bulletin.create_user_id
|
||||
}
|
||||
|
||||
@mail_cron = MailCron.new(@mail_cron)
|
||||
|
||||
@mail_cron.save
|
||||
|
||||
MailCron.send_mail_now(@mail_cron.id)
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def email_group_data
|
||||
|
||||
@email_group_data = Bulletin.email_group_data
|
||||
|
||||
end
|
||||
|
||||
def delete_out_invalid_date_from_params
|
||||
if((params[:bulletin]["deadline(1i)"] && params[:bulletin]["deadline(1i)"].blank?) or (params[:bulletin]["deadline(2i)"] && params[:bulletin]["deadline(2i)"].blank?) or (params[:bulletin]["deadline(3i)"] && params[:bulletin]["deadline(3i)"].blank?))
|
||||
params[:bulletin].delete("deadline(1i)")
|
||||
|
||||
@@ -40,12 +40,6 @@ class Bulletin
|
||||
field :not_checked_reason
|
||||
|
||||
field :public, :type => Boolean, :default => true
|
||||
|
||||
|
||||
field :email_sent, :type => Boolean, :default => false
|
||||
field :email_sentdate , :type => DateTime
|
||||
field :email_group, :type => Array
|
||||
field :other_mailaddress
|
||||
|
||||
scope :can_display, where(is_checked: true, is_rejected: false, is_pending: false)
|
||||
scope :available_for_lang, ->(locale){ where("available_for_#{locale}".to_sym => true) }
|
||||
@@ -221,46 +215,8 @@ class Bulletin
|
||||
preview_object
|
||||
end
|
||||
|
||||
def get_email_group_data(email_group_data)
|
||||
|
||||
group_mail = Array.new
|
||||
|
||||
self.email_group.each do |egroup|
|
||||
|
||||
if email_group_data.include?(egroup) and (egroup == '0' or egroup == '1' or egroup == '2' or egroup == '3')
|
||||
|
||||
group_mail << "#{email_group_data[egroup]["email"]}(#{email_group_data[egroup]["name"]})"
|
||||
|
||||
elsif email_group_data.include?(egroup) and egroup == '4'
|
||||
|
||||
self.other_mailaddress.split(",").each do |otmail|
|
||||
|
||||
group_mail << "#{otmail}(#{email_group_data[egroup]["name"]})"
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
group_mail.join("<br />").html_safe
|
||||
|
||||
end
|
||||
|
||||
|
||||
protected
|
||||
|
||||
def self.email_group_data
|
||||
|
||||
@email_group_data = {
|
||||
'0'=> {"name"=>I18n.t('announcement.email_group_data_0'), "email"=>"alluser@tea.ntue.edu.tw"},
|
||||
'1'=> {"name"=>I18n.t('announcement.email_group_data_1'), "email"=>"allstu@tea.ntue.edu.tw"},
|
||||
'2'=> {"name"=>I18n.t('announcement.email_group_data_2'), "email"=>"allgrad@tea.ntue.edu.tw"},
|
||||
'3'=> {"name"=>I18n.t('announcement.email_group_data_3'), "email"=>"allad@tea.ntue.edu.tw"},
|
||||
'4'=> {"name"=>I18n.t('announcement.email_group_data_4')}
|
||||
}
|
||||
|
||||
end
|
||||
|
||||
def check_deadline
|
||||
if(!self.deadline.nil? and (self.deadline < self.postdate ))
|
||||
|
||||
-29
@@ -1,29 +0,0 @@
|
||||
<% # encoding: utf-8 %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
|
||||
</head>
|
||||
<body bgcolor="#FFFFFF">
|
||||
<div style="text-ident:20px">
|
||||
</div>
|
||||
|
||||
<%= t('announcement.mail_hi') %> <br /><br />
|
||||
<%= t('announcement.mail_url_view') %> <br /><br />
|
||||
<a href="<%= @data.mail_content["url"] %>" target="_blank"> <%= @data.mail_content["title"] %> </a> <br /><br />
|
||||
</div>
|
||||
<span style="color:#555">--<br />
|
||||
<%= t('announcement.mail_source') %> :<a href="http://<%= @data.mail_content["host"] %>" target="_blank"> <%= @data.mail_content["site_title"] %> </a><br />
|
||||
<%= t('announcement.mail_time') %> <%= DateTime.now %>
|
||||
</span>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-6
@@ -14,12 +14,6 @@
|
||||
<%# preview_block_ad_images_helper(bulletin).each do |ad_image| -%>
|
||||
<%#= image_tag ad_image.file,:alt => (ad_image.title[locale] || " "),:time_to_next => bulletin.transition_msec,:link_open=> ad_image.link_open, :link_url =>((ad_image.out_link || bulletin.context || " ")) %>
|
||||
<%# end -%>
|
||||
|
||||
<% if !@bulletin.email_group.blank? %>
|
||||
<%= label_tag 'group_mail' %>
|
||||
<%= @bulletin.get_email_group_data(@email_group_data) %>
|
||||
<% end %>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
|
||||
Vendored
-49
@@ -265,50 +265,6 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="widget" class="widget-box">
|
||||
<div class="widget-action clear">
|
||||
<a class="action"><i title="Added to the file" class="icon-exclamation-sign icon-white tip"></i></a>
|
||||
</div>
|
||||
<h3 class="widget-title"><i class="icons-bell"></i><%= t('announcement.email_eminder')%></h3>
|
||||
<div class="widget-content">
|
||||
<div class="controls">
|
||||
<label class="checkbox inline"><input id="remind-check" type="checkbox" value="1" name="bulletin[email_sent]"><%= t('announcement.activate_email_eminder')%></label>
|
||||
<div id="content-box">
|
||||
<hr />
|
||||
|
||||
<%#= f.datetime_picker :email_sentdate, :picker_type => 'separated', :label => t("announcement.email_sentdate") %>
|
||||
|
||||
<br />
|
||||
|
||||
<%= f.label :email_group ,t("announcement.email_group")%>
|
||||
<div class="form-inline">
|
||||
<ul class="nav nav-pills">
|
||||
<% @email_group_data.collect do |k,v| %>
|
||||
<li class="pull-left">
|
||||
<%= check_box_tag 'bulletin[email_group][]', k, (@bulletin.email_group.nil? ? false : @bulletin.email_group.include?(k)), :id => "field-#{k}" %>
|
||||
<label for="field-<%= k %>"><%= v["name"] %></label>
|
||||
<%= hidden_field_tag 'bulletin[email_group][]', '' %>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<%= f.label :other_mailaddress ,"#{t("announcement.other_mailaddress")}(#{t("announcement.other_mailaddress_note")})"%>
|
||||
<%= f.text_area :other_mailaddress, :class=>"span12", :cols=>"25", :rows=>"10" %>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -344,11 +300,6 @@
|
||||
$(this).parents('table').append(("<%= escape_javascript(add_attribute 'form_bulletin_file', f, :bulletin_files) %>").replace(old_id, new_id));
|
||||
});
|
||||
$('.for_preview').popover({ html : true });
|
||||
|
||||
$('#remind-check').prop('checked') ? '':$('#content-box').addClass('hide')
|
||||
$('#remind-check').on('change', function() {
|
||||
$(this).prop('checked') ? $('#content-box').removeClass('hide'):$('#content-box').addClass('hide')
|
||||
})
|
||||
});
|
||||
</script>
|
||||
<% end %>
|
||||
+1
-18
@@ -37,21 +37,4 @@ en:
|
||||
widget:
|
||||
bulletins_and_web_links: Bulletins and Web Resources
|
||||
index: Index
|
||||
search: Search
|
||||
email_eminder: Email Reminder
|
||||
activate_email_eminder: Activate Email Reminder
|
||||
email_sentdate: Email Time
|
||||
email_group: Email Group
|
||||
email_group_data_0: All Faculty
|
||||
email_group_data_1: Undergraduates
|
||||
email_group_data_2: Postgraduates
|
||||
email_group_data_3: Continuing Ed. Postgraduates
|
||||
email_group_data_4: Other
|
||||
mail_subject: this is an announcement reminder from【%{site_title}】
|
||||
other_mailaddress: Other Email
|
||||
other_mailaddress_note: Divide different email accounts with ","
|
||||
mail_hi: Hi
|
||||
mail_url_view: This email is the reminder of an announcement, please click the link for the details
|
||||
mail_source: Source
|
||||
mail_time: Time
|
||||
|
||||
search: Search
|
||||
@@ -37,22 +37,4 @@ zh_tw:
|
||||
widget:
|
||||
bulletins_and_web_links: 索引
|
||||
index: 索引
|
||||
search: 搜尋
|
||||
email_eminder: 寄送提醒
|
||||
activate_email_eminder: 開啟寄送提醒
|
||||
email_sentdate: 寄送時間
|
||||
email_group: 寄送群組
|
||||
other_mailaddress: 其他Mail
|
||||
other_mailaddress_note: 輸入多組mail時,請用","逗號隔開
|
||||
email_group_data_0: 全校教職員
|
||||
email_group_data_1: 大學部學生
|
||||
email_group_data_2: 日間部研究生
|
||||
email_group_data_3: 進修部研究生
|
||||
email_group_data_4: 其他
|
||||
mail_subject: 來自【%{site_title}】的公告事件提醒
|
||||
mail_hi: 您好
|
||||
mail_url_view: 此封信件為公告事件提醒,請點選以下連結詳細觀看
|
||||
mail_source: 來源
|
||||
mail_time: 時間
|
||||
|
||||
|
||||
search: 搜尋
|
||||
@@ -1,7 +0,0 @@
|
||||
.bundle/
|
||||
log/*.log
|
||||
pkg/
|
||||
test/dummy/db/*.sqlite3
|
||||
test/dummy/log/*.log
|
||||
test/dummy/tmp/
|
||||
test/dummy/.sass-cache
|
||||
Vendored
-28
@@ -1,28 +0,0 @@
|
||||
class Panel::Ask::FrontEnd::AskQuestionsController < OrbitWidgetController
|
||||
|
||||
layout false
|
||||
|
||||
def initialize
|
||||
super
|
||||
@app_title = 'ask'
|
||||
end
|
||||
|
||||
def index
|
||||
@ask_question = AskQuestion.new
|
||||
end
|
||||
|
||||
def create
|
||||
@ask_question = AskQuestion.new(params[:ask_question])
|
||||
if verify_recaptcha model: @ask_question, private_key: '6Lfl7OESAAAAAD4rl5S16-zjt5yiKNYJ6jsqdwmL'
|
||||
@ask_acknowledgement = AskAcknowledgement.first || AskAcknowlegement.new
|
||||
@ask_question.save
|
||||
AskAdmin.all.each do |ask_admin|
|
||||
Resque.enqueue(SendAskNoticeMail, ask_admin.id, @ask_question.id)
|
||||
end
|
||||
end
|
||||
respond_to do |format|
|
||||
format.js
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
-11
@@ -1,11 +0,0 @@
|
||||
<% if @ask_question.errors.empty? %>
|
||||
$('html,body').scrollTop(0);
|
||||
$('#acknowledgement')
|
||||
.html('<%= j simple_format(@ask_acknowledgement.content) %>')
|
||||
.fadeIn(600)
|
||||
.delay(3000)
|
||||
.fadeOut(600);
|
||||
<% else %>
|
||||
alert('<%= @ask_question.errors.full_messages.join('\n') %>');
|
||||
Recaptcha.reload()
|
||||
<% end %>
|
||||
Vendored
+1
@@ -14,6 +14,7 @@ module Ask
|
||||
app_page 'ask_questions' do
|
||||
frontend_i18n 'ask.ask'
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
widgets do
|
||||
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Vendored
+46
@@ -0,0 +1,46 @@
|
||||
class Panel::Ask::FrontEnd::AskQuestionsController < OrbitWidgetController
|
||||
|
||||
layout false
|
||||
|
||||
def initialize
|
||||
super
|
||||
@app_title = 'ask'
|
||||
end
|
||||
|
||||
def index
|
||||
@ask_question = AskQuestion.new
|
||||
end
|
||||
|
||||
def create
|
||||
@ask_question = AskQuestion.new(params[:ask_question])
|
||||
if gotcha_valid? && @ask_question.save
|
||||
@ask_acknowledgement = AskAcknowledgement.first || AskAcknowlegement.new
|
||||
#@ask_question.save
|
||||
redirect_to root_path
|
||||
AskAdmin.all.each do |ask_admin|
|
||||
AskMailer.notice(ask_admin, @ask_question).deliver
|
||||
Resque.enqueue(SendAskNoticeMail, ask_admin.id, @ask_question.id)
|
||||
end
|
||||
# redirect_to panel_ask_front_end_thank_you_path
|
||||
respond_to do |format|
|
||||
format.js
|
||||
# format.js { render :thank_you, notice: 'Your question has been successfully sent.' }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def thank_you
|
||||
@item = Page.find(params[:page_id]) rescue nil
|
||||
if @item
|
||||
if @item.frontend_data_count
|
||||
@page_num = @item.frontend_data_count
|
||||
else
|
||||
@page_num = 15
|
||||
end
|
||||
@frontend_style = @item.frontend_style
|
||||
end
|
||||
@item = Page.find(params[:page_id]) rescue nil
|
||||
>>>>>>> a4fa967... Fix mailing redirect
|
||||
end
|
||||
|
||||
end
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
class AskMailer < ActionMailer::Base
|
||||
default from: 'orbit_test@rulingcom.com'
|
||||
|
||||
|
||||
def reply(ask_question)
|
||||
@ask_question = ask_question
|
||||
mail(:to => @ask_question.email, :subject => "#{t('ask.reply')}:#{@ask_question.title}")
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
+5
@@ -1,4 +1,8 @@
|
||||
class AskQuestion
|
||||
include ActiveModel::Validations
|
||||
include ActiveModel::Conversion
|
||||
extend ActiveModel::Naming
|
||||
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
include OrbitCoreLib::ObjectDisable
|
||||
@@ -15,4 +19,5 @@ class AskQuestion
|
||||
|
||||
belongs_to :ask_category
|
||||
has_one :ask_reply, dependent: :destroy
|
||||
|
||||
end
|
||||
File renamed without changes.
File renamed without changes.
+1
-1
@@ -5,7 +5,7 @@
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
<%= @ask_question.ask_reply.content %>
|
||||
<%= @ask_question.content %>
|
||||
</p>
|
||||
<p>此為系統自動發信,請勿直接回覆</p>
|
||||
</body>
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
-1
@@ -18,6 +18,5 @@
|
||||
|
||||
<div class="form-actions form-fixed pagination-right">
|
||||
<div id="ask_questions_pagination" class="paginationFixed">
|
||||
<%= paginate @ask_questions %>
|
||||
</div>
|
||||
</div>
|
||||
File renamed without changes.
+12
@@ -0,0 +1,12 @@
|
||||
<% #if @ask_question.errors.empty? %>
|
||||
//$('html,body').scrollTop(0);
|
||||
//$('#acknowledgement')
|
||||
// .html('<%= j simple_format(@ask_acknowledgement.content) %>')
|
||||
// .fadeIn(600)
|
||||
// .delay(3000)
|
||||
// .fadeOut(600);
|
||||
<% #else %>
|
||||
//alert('<%= @ask_question.errors.full_messages.join('\n') %>');
|
||||
//Recaptcha.reload()
|
||||
<% #end %>
|
||||
window.location.href= "<%= panel_ask_front_end_thank_you_path %>"
|
||||
+6
-5
@@ -1,8 +1,7 @@
|
||||
<link href='/assets/ask.css' rel='stylesheet' type='text/css' />
|
||||
<div id="new-ask-question" class="ask-question">
|
||||
<div id="acknowledgement"></div>
|
||||
<%= form_for @ask_question, url: panel_ask_front_end_ask_questions_path(standalone: true), remote: true,
|
||||
html: {class: 'form-horizontal'} do |f| %>
|
||||
<%= form_for @ask_question, url: panel_ask_front_end_ask_questions_path(standalone: true), html: {class: 'form-horizontal'} do |f| %>
|
||||
<div class="control-group">
|
||||
<%= f.label :ask_category_id, class: 'control-label required' %>
|
||||
<div class="controls">
|
||||
@@ -55,11 +54,13 @@
|
||||
<%= f.text_area :content, rows: 8, class: 'input-xlarge' %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<%= recaptcha_tags ajax: true, public_key: '6Lfl7OESAAAAAKdxTSSmWSOWlL__04A9AqQzD7_z' %>
|
||||
<%= gotcha_error %>
|
||||
<%= gotcha%>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-actions">
|
||||
<%= f.submit t('submit'), class: 'btn btn-primary' %>
|
||||
<%= f.button t('cancel'), type: 'reset', class: 'btn' %>
|
||||
@@ -77,4 +78,4 @@
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
<h3>Thank you for your email, we will get back to you soon.</h3>
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Vendored
+1
@@ -18,6 +18,7 @@ Rails.application.routes.draw do
|
||||
end
|
||||
|
||||
namespace :front_end do
|
||||
match "ask_questions/thank_you" => "ask_questions#thank_you", :as => 'thank_you'
|
||||
resources :ask_questions
|
||||
end
|
||||
end
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
module Ask
|
||||
OrbitApp.registration "Ask",:type=> 'ModuleApp' do
|
||||
module_label 'ask.ask'
|
||||
base_url File.expand_path File.dirname(__FILE__)
|
||||
# personal_plugin :enable => true,:path=>"panel/faq/plugin/profile",:i18n=>'admin.faq'
|
||||
|
||||
version "0.1"
|
||||
organization "Rulingcom"
|
||||
author "RD dep"
|
||||
intro "I am intro"
|
||||
update_info 'some update_info'
|
||||
|
||||
front_end do
|
||||
app_page 'ask_questions' do
|
||||
frontend_i18n 'ask.ask'
|
||||
end
|
||||
end
|
||||
|
||||
widgets do
|
||||
default_widget do
|
||||
end
|
||||
end
|
||||
|
||||
side_bar do
|
||||
head_label_i18n 'ask.ask', icon_class: 'icons-light-bulb'
|
||||
available_for [:admin,:manager,:sub_manager]
|
||||
active_for_controllers({ private: ['ask_questions'] })
|
||||
head_link_path "panel_ask_back_end_ask_questions_path"
|
||||
|
||||
context_link 'categories', link_path: 'panel_ask_back_end_ask_categories_path',
|
||||
priority: 1,
|
||||
active_for_action: {:ask_categories=>:index},
|
||||
available_for: [:all]
|
||||
|
||||
context_link 'ask.acknowledgement', link_path: 'panel_ask_back_end_ask_acknowledgements_path',
|
||||
priority: 1,
|
||||
available_for: [:all]
|
||||
|
||||
context_link 'ask.admin', link_path: 'panel_ask_back_end_ask_admins_path',
|
||||
priority: 1,
|
||||
available_for: [:all]
|
||||
|
||||
context_link 'ask.export', link_path: 'export_panel_ask_back_end_ask_questions_path',
|
||||
priority: 1,
|
||||
available_for: [:all]
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
File renamed without changes.
Vendored
File renamed without changes.
File renamed without changes.
Vendored
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loaded 100 of 246 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user