Author SHA1 Message Date
manson666 a7de28686d Fix Sync auto rescue timeout and filter user email for ntu only 2014-01-23 11:59:59 +08:00
manson666 764dac659b Fix Sync timeout issue 2014-01-23 11:59:59 +08:00
manson666 da75ac771c Fix sync auto not deleting old data 2014-01-23 11:59:59 +08:00
manson666 3375a41106 Fix sync auto 2014-01-23 11:59:59 +08:00
Manson Wang ed8b42e948 Import teacher data 2014-01-23 11:59:59 +08:00
Spen 198c302891 ntu coph sso 2014-01-23 11:59:59 +08:00
Spen e4aea37b00 ntu coph member plugin data sync 2014-01-23 11:59:58 +08:00
harrybomrah 2ef59530a5 sync button added for desktop and also fixed a little bug.. 2014-01-23 11:59:58 +08:00
Manson Wang 6ce6852c9d Desktop sync button.. not finished 2014-01-23 11:59:58 +08:00
harrybomrah 5de7fcfaf6 added sync for journal paper books and conference.. and also disabled the icons
Conflicts:
	app/assets/javascripts/desktop/orbitdesktop.js
	app/controllers/admin/import_data_controller.rb

Conflicts:
	vendor/built_in_modules/personal_book/app/controllers/panel/personal_book/desktop/personal_books_controller.rb
	vendor/built_in_modules/personal_book/app/views/panel/personal_book/desktop/personal_books/index.html.erb
	vendor/built_in_modules/personal_conference/app/assets/javascripts/personal_conference/desktop/conference_pages.js
	vendor/built_in_modules/personal_conference/app/views/panel/personal_conference/desktop/conference_pages/index.html.erb
	vendor/built_in_modules/personal_journal/app/assets/javascripts/personal_journal/desktop/journal_pages.js
	vendor/built_in_modules/personal_journal/app/controllers/panel/personal_journal/desktop/journal_pages_controller.rb
	vendor/built_in_modules/personal_journal/app/views/panel/personal_journal/desktop/journal_pages/index.html.erb
2014-01-23 11:59:58 +08:00
Manson Wang 668c1e7d75 Added sync button in personal plugin back_end
Conflicts:
	config/locales/en.yml
	config/locales/zh_tw.yml
	vendor/built_in_modules/personal_book/app/views/panel/personal_book/plugin/_profile.html.erb
	vendor/built_in_modules/personal_conference/app/views/panel/personal_conference/plugin/_profile.html.erb
	vendor/built_in_modules/personal_journal/app/views/panel/personal_journal/plugin/_profile.html.erb
2014-01-23 11:59:58 +08:00
saurabhbhatia 56ad1ddd91 Updated Import data without page method 2014-01-23 11:59:58 +08:00
saurabhbhatia c3ece3b7af both manual and automatic methods working
Conflicts:
	config/routes.rb
2014-01-23 11:59:58 +08:00
saurabhbhatia 3b73fab8e2 Added Automatic Synchronize
Conflicts:
	Gemfile
	app/controllers/admin/import_data_controller.rb
	vendor/built_in_modules/personal_conference/app/models/writing_conference.rb

Conflicts:
	Gemfile
	app/controllers/admin/import_data_controller.rb
2014-01-23 11:59:58 +08:00
saurabhbhatia 5fee058006 Import Data, Sync Data
Conflicts:
	config/mongoid.yml
	vendor/built_in_modules/personal_book/app/models/writing_book.rb
	vendor/built_in_modules/personal_conference/app/models/writing_conference.rb
	vendor/built_in_modules/personal_journal/app/models/writing_journal.rb
2014-01-23 11:59:58 +08:00
Bernie Chiu d19223c873 Fix duplicate options 2014-01-22 10:35:56 +08:00
Spen 77c00ac72f fix new ui member-pic default size 200 * 200 2014-01-22 10:35:21 +08:00
Manson Wang 92f1f44e4b Fix sitemap toggle 2014-01-17 18:15:37 +08:00
Manson Wang 332658d394 Fix translations and side_bar order 2014-01-16 10:45:58 +08:00
Manson Wang e947af4c34 Removed banner_nav.css and default_widget.css in application_helper.rb 2014-01-14 16:19:50 +08:00
Saurabh Bhatia 37e58cd780 Added function to see if the module is installed or not 2014-01-14 12:29:17 +08:00
Saurabh Bhatia 2931676ecf Reverted back Locations Module 2014-01-14 11:39:20 +08:00
Spen e71a343718 fix new ui page get_item search and back_end_helper can add args option 2014-01-14 11:26:16 +08:00
Saurabh Bhatia a108426412 Updated Module Store to Install a Module directly from Store.tp 2014-01-14 11:20:30 +08:00
Manson Wang a154d16a7e Update Manager 2014-01-13 18:07:07 +08:00
24 changed files with 470 additions and 117 deletions

No files matched your search

@@ -1,9 +1,48 @@
class Admin::ModuleStoreController < OrbitBackendController
@@store = STORE_CONFIG[:store_settings]["url"]
def index
@extensions = get_extensions
end
def show
@extension = get_extension(params[:id]) rescue nil
end
def download
#get extension related values
extension = get_extension(params[:id]) rescue nil
download_link = @@store + "/"+ extension["extension"]["extension"]["url"]
downloaded_file_name = extension["extension_filename"]
module_app_name = downloaded_file_name.split(/(.zip)/).first
#check if the directory exists or not
@module_status = Dir.exists?("#{Rails.root}/vendor/built_in_modules/#{module_app_name}")
if @module_status.eql?(true)
flash[:notice] = "This module is already installed"
else
download_extension(download_link, downloaded_file_name,module_app_name)
flash[:notice] = "This module has been successfully installed"
end
redirect_to admin_module_store_path
end
protected
def get_extensions
JSON.parse(open("#{@@store}/api/extensions").read)
end
def get_extension(id)
JSON.parse(open("#{@@store}/api/extensions/#{id}").read)
end
def download_extension(download_link, downloaded_file_name,module_app_name)
puts %x(wget "#{download_link}")
puts %x(unzip "#{downloaded_file_name}")
puts %x(mv #{module_app_name} "#{Rails.root}/vendor/built_in_modules/")
puts %x(rm "#{downloaded_file_name}")
site_restart
end
end
+42
View File
@@ -3,6 +3,7 @@ class Admin::SitesController < OrbitBackendController
before_filter :authenticate_user!
before_filter :is_admin?
before_filter :get_site
before_filter :git_branch
# def index
# @site = Site.first
@@ -107,6 +108,43 @@ class Admin::SitesController < OrbitBackendController
render :nothing => true
end
def update_manager
end
def get_update_history
@update_log = %x{git log --pretty=format:"%ad','%s" --date=short}.split("\n").map{|log| log.gsub("'","").split(",")}.to_json
render :json => @update_log
end
def check_updates
%x(git fetch origin)
@new_updates = %x(git log #{@branch}..origin/#{@branch} --pretty=format:"%ad','%s" --date=short).split("\n").map{|log| log.gsub("'","").split(",")}.to_json
render :json => @new_updates
end
def update_orbit
result = ""
need_stash = %x(git diff).blank?
%x(git stash) unless need_stash
%x(git fetch origin)
pull_result = %x(git pull -r --ff-only 2>&1 origin #{@branch})
if pull_result.include? "fatal: Not possible to fast-forward, aborting."
result = "failed"
else
result = "success"
%x{bundle install}
%x{touch tmp/restart.txt}
end
%x(git stash pop) unless need_stash
render :text => result
end
def restart_server
render :text => "success"
end
protected
def update_design(design)
@@ -124,5 +162,9 @@ class Admin::SitesController < OrbitBackendController
def get_site
@site ||= Site.first
end
def git_branch
@branch = %x(git rev-parse --abbrev-ref HEAD).gsub("\n","")
end
end
@@ -1,7 +1,7 @@
class Admin::TemplateStoreController < OrbitBackendController
@@store_domain = "http://store.tp.rulingcom.com"
@@store_domain = STORE_CONFIG[:store_settings]["url"]
def index
@store = @@store_domain
@templates = JSON.parse(get_templates)
@@ -33,6 +33,4 @@ class Admin::TemplateStoreController < OrbitBackendController
response.body
end
end
+2 -2
View File
@@ -197,8 +197,8 @@ class PagesController < ApplicationController
else
model = params[:app_action].classify.constantize rescue nil
if !model.nil?
item = model.find(params[:id])
@item = Item.where(:category => [item.category_id.to_s]).first if !module_app.has_category.blank?
item = model.where(:_id=>params[:id]).first
@item = Item.where(:category => [item.category_id.to_s]).first if !module_app.has_category.blank? and !item.blank?
end
end
-34
View File
@@ -1,34 +0,0 @@
class SamlLoginsController < ApplicationController
require "net/http"
require "uri"
require 'rexml/document'
include REXML
def index
if params[:wa] == "wsignoutcleanup1.0" #logout
redirect_to :root
else #login
@wresult = params[:wresult]
@wctx = params[:wctx]
@main_url = LIST[:sites][@wctx]['url']
@main_public_key = LIST[:sites][@wctx]['key']
@doc = REXML::Document.new @wresult
public_key = OpenSSL::PKey::RSA.new(@main_public_key)
encrypted_data = public_key.public_encrypt(@doc.elements["//saml:AttributeValue"].text)
redirect_to "http://#{@main_url}/user_login?" + { :wresult => encrypted_data }.to_param
end
end
end
+2 -2
View File
@@ -193,8 +193,8 @@ module ApplicationHelper
stylesheets = ''
stylesheets << "<link href='#{asset_path 'orbit_bar_bootstrap'}' rel='stylesheet' type='text/css' />\n"
stylesheets << "<link href='#{page.design.css_reset.file.url}' rel='stylesheet' type='text/css' />\n" if page.design.css_reset
stylesheets << "<link href='#{asset_path 'banner_nav.css'}' rel='stylesheet' type='text/css' />\n"
stylesheets << "<link href='#{asset_path 'default_widget.css'}' rel='stylesheet' type='text/css' />\n"
# stylesheets << "<link href='#{asset_path 'banner_nav.css'}' rel='stylesheet' type='text/css' />\n"
# stylesheets << "<link href='#{asset_path 'default_widget.css'}' rel='stylesheet' type='text/css' />\n"
stylesheets << "<link href='#{page.design.css_default.file.url}' rel='stylesheet' type='text/css' />\n" if page.design.css_default
theme = page.design.themes.detect{ |d| d.id == page.theme_id }
stylesheets << "<link href='#{theme.file.url}' rel='stylesheet' type='text/css' />\n" if theme
+17 -3
View File
@@ -271,17 +271,31 @@ module OrbitBackendHelper
# TODO: links to other actions
# ===============================================================
def footer(args={})
if args[:link_name]
link_name = args[:link_name]
else
link_name = content_tag(:i, nil, :class => 'icon-plus') + ' ' + t(:add)
end
paginate = args.has_key?(:paginate) ? args[:paginate] : true
link = (is_manager? || is_sub_manager? rescue nil) && args.has_key?(:link) ? true : false
if paginate || link
@index_footer = content_tag :div, class: "bottomnav clearfix" do
concat content_tag :div, link_to(content_tag(:i, nil, :class => 'icon-plus') + ' ' + t(:add), args[:link].blank? ? '#' : send(args[:link]), :class => (args[:link_class] || 'btn btn-primary'), data: args[:link_data]), class: "action pull-right" if link
concat content_tag :div, link_to(link_name, args[:link].blank? ? '#' : send(args[:link]), :class => (args[:link_class] || 'btn btn-primary'), data: args[:link_data]), class: "action pull-right" if link
concat content_tag :div, paginate(@objects, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil, :sort_options => params[:sort_options]}), class: "pagination pagination-centered" if paginate
end
end
end
def get_quick_link(quick, object, authorization, approvable)
if !quick[:link_option].blank?
link_option = ",#{quick[:link_option]}"
else
link_option = ""
end
case quick[:type]
when 'approval'
if show_approval_link(object)
@@ -293,12 +307,12 @@ module OrbitBackendHelper
end
when 'edit'
if authorization && approvable
content_tag :li, link_to(t(quick[:translation] || :edit), quick[:link].nil? ? '#' : eval("#{quick[:link]}('#{object.id}')"), class: quick[:class], data: eval("#{quick[:data]}"))
content_tag :li, link_to(t(quick[:translation] || :edit), quick[:link].nil? ? '#' : eval("#{quick[:link]}('#{object.id}'#{link_option})"), class: quick[:class], data: eval("#{quick[:data]}"))
end
when 'delete'
if show_delete_link(object)
@delete_options = {title: quick[:title], warning: quick[:warning], cancel: quick[:cancel], submit: quick[:submit]}
content_tag :li, link_to(t(quick[:translation] || :delete_), '#', rel: eval("#{quick[:link]}('#{object.id}')"), class: "delete #{quick[:class] || 'text-error'}")
content_tag :li, link_to(t(quick[:translation] || :delete_), '#', rel: eval("#{quick[:link]}('#{object.id}'#{link_option})"), class: "delete #{quick[:class] || 'text-error'}")
end
when 'detail'
content_tag :li, link_to(t(quick[:translation] || :detail), '#', class: (quick[:class] || "detail-row"))
+1 -1
View File
@@ -42,7 +42,7 @@ class AvatarUploader < CarrierWave::Uploader::Base
# end
version :thumb do
process :resize_to_fit => [80, 80]
process :resize_to_fit => [200, 200]
end
# Add a white list of extensions which are allowed to be uploaded.
+2
View File
@@ -20,6 +20,8 @@
<li title="<%= t('preference') %>"><%= link_to admin_site_preference_path(@site), :class => active_for_action('sites', 'preference') do %><span><i class="icons-cog"></i></span><%end%></li>
<li title="<%= t('update_manager') %>"><%= link_to admin_site_update_manager_path(@site), :class => active_for_action('sites', 'update_manager') do %><span><i class="icon-refresh"></i></span><%end%></li>
<!-- <li title="System Info"><a href="/orbit_4.0.1/admin/system_info/index.shtml?sidebarNavList=8&amp;subNavBlockList=0"><span><i class="icons-info-2"></i></span></a></li>
--> </ul>
</div>
+41 -4
View File
@@ -14,8 +14,14 @@
<%= javascript_include_tag 'lib/retina' %>
<%= javascript_include_tag 'lib/mudole_templates_status' %>
</head>
<!--
<% @extensions.each do |extension|%>
<%=link_to extension["title"], admin_module_store_show_path(extension["_slugs"][0])%>
<%end%> -->
<table id="mt-list" class="table main-list">
<%= flash[:notice] rescue nil%>
<table id="mt-list" class="table main-list">
<thead>
<tr class="sort-header">
<th class="first"><a href="#">Module Title</a></th>
@@ -25,6 +31,38 @@
</tr>
</thead>
<tbody>
<% @extensions.each do |extension|%>
<tr>
<td class="detail-row">
<div class="module_icon pull-left">
<%= image_tag "module_icon.png"%>
</div>
<h5 class="mt_title"><span><%=link_to extension["title"], admin_module_store_show_path(extension["_slugs"][0])%></span></h5>
<p class="mt_dev muted"><%=extension["author"]%></p>
</td>
<td class="detail-row">2013/07/12</td>
<td>
<%= extension["description"].html_safe%> <%= link_to 'Read More', admin_module_store_show_path(extension["_slugs"][0]) %>
</td>
<!-- <td class="active"><button class="act btn btn-mini" type="button">Uninstall</button></td>
-->
<% download_link = STORE_CONFIG[:store_settings]["url"] + "/"+ extension["extension"]["extension"]["url"]
downloaded_file_name = extension["extension_filename"]
module_app_name = downloaded_file_name.split(/(.zip)/).first
@module_status = Dir.exists?("#{Rails.root}/vendor/built_in_modules/#{module_app_name}")
%>
<% if @module_status.eql?(true)%>
<td class="active">Installed</td>
<% else %>
<td class="active"><%= link_to 'Download', admin_module_store_download_path(:id => extension["_slugs"][0]), :class=>"act btn btn-mini btn-success" %></td>
<% end %>
</tr>
<% end %>
</tbody>
</table>
<!--
<tr>
<td class="detail-row">
<div class="module_icon pull-left">
@@ -80,6 +118,5 @@
@detail
</td>
<td class="active"><button class="act btn btn-mini btn-info" type="button">Update</button></td>
</tr>
</tbody>
</table>
</tr> -->
+4 -8
View File
@@ -22,7 +22,7 @@
<div class="side">
<div id="item-info">
<img src="/assets/module/thumb/mt<%= params[:m] %>.jpg" alt="" class="item-thumb">
<h2 class="item-name">Module Name</h2>
<h2 class="item-name"><%= @extension.first["title"] %></h2>
<a id="download" href="">free download</a>
<ul class="item-extra-info">
<li><span class="title">downloads</span><span class="count"><%= Random.new.rand(10..100) %></span></li>
@@ -38,16 +38,12 @@
</div>
</div>
<div class="main clearfix">
<h3>description</h3>
<div id="desc-holder" class="paragraph">Pixel Union’s Jitensha defines storefront minimalism. Japanese for “bicycle,” Jitensha offers clean typography and easy usability, including full color, font, logo, and footer customization. With its painless social media and blog integration, Jitensha gorgeously accomodates every aspect of your business. Any questions before you launch? Don’t hesitate to email us: Support@PixelUnion.net.</div>
<h3>Description</h3>
<div id="desc-holder" class="paragraph"><%= @extension.first["description"].html_safe%></div>
<h3>screen shot</h3>
<div id="screen-shot">
<div class="holder">
<img src="" alt="Thumbnail 1" class="preview item-thumb">
<img src="" alt="Thumbnail 2" class="preview item-thumb">
<img src="" alt="Thumbnail 3" class="preview item-thumb">
<img src="" alt="Thumbnail 4" class="preview item-thumb">
<img src="" alt="Thumbnail 5" class="preview item-thumb">
<%= image_tag "#{STORE_CONFIG[:store_settings]["url"]}/#{@extension.first['preview']['preview']['url']}"%>
</div>
</div>
</div>
+2
View File
@@ -20,6 +20,8 @@
<li title="<%= t('preference') %>"><%= link_to admin_site_preference_path(@site), :class => active_for_action('sites', 'preference') do %><span><i class="icons-cog"></i></span><%end%></li>
<li title="<%= t('update_manager') %>"><%= link_to admin_site_update_manager_path(@site), :class => active_for_action('sites', 'update_manager') do %><span><i class="icon-refresh"></i></span><%end%></li>
<!-- <li title="System Info"><a href="/orbit_4.0.1/admin/system_info/index.shtml?sidebarNavList=8&amp;subNavBlockList=0"><span><i class="icons-info-2"></i></span></a></li>
--> </ul>
</div>
+1 -1
View File
@@ -48,7 +48,7 @@
});
})
});
$(document).on('click', 'li .onoff', function () {
$(document).on('click', 'li .map-block .onoff', function () {
$(this).parents("li").toggleClass("disabled");
if($(this).parents("li").attr("class").indexOf("disabled") > 0){
$(this).text("<%= t('off_upcase') %>")
+245
View File
@@ -0,0 +1,245 @@
<% content_for :side_bar do %>
<%= render :partial => 'layouts/side_bar', :locals => {:link_name => t('site.settings'), :link_url => admin_site_site_info_path(@site), :icon => 'icons-cog', :side_bar_content => 'admin/sites/side_bar'} %>
<% end %>
<style type="text/css">
.container{
}
#new_update_container{
display: none;
}
#update_progress{
margin: 0 auto;
text-align: center;
}
#update_status{
/*display: none;*/
}
#update_done{
display: none;
}
#update_failed{
display: none;
}
.panel{
/*max-height: 400px;*/
border-radius: 5px;
overflow: hidden;
border: 1px solid #DFDFDF;
background: #FFF;
box-shadow: 0px 0px 10px #CCC;
}
.panel-heading{
font-size: 16px;
color: #666;
padding: 10px 20px;
background-color: #fafafa;
background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));
background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2);
background-image: -o-linear-gradient(top, #ffffff, #f2f2f2);
background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);
*zoom: 1;
border-bottom: 1px solid #DDD;
}
.table{
margin: 0;
-webkit-border-radius: 5px;
border-radius: 5px;
}
.pannel-body{
max-height: 400px;
overflow: scroll;
overflow-x: hidden;
overflow-y: hidden;
padding: 15px;
}
.pannel-body:hover{
overflow-y: scroll;
}
::-webkit-scrollbar {
width: 5px;
}
::-webkit-scrollbar-track {
background-color: #AAA;
}
::-webkit-scrollbar-thumb {
background-color: #666;
}
.break{
border-left: 1px solid #FCFCFC;
border-right: 1px solid #DDD;
padding: 10px 0;
margin: 0 15px;
}
</style>
<div class="container">
<div class="row-fluid">
<div class="span6">
<div id="new_update_container">
<div class="panel">
<div class="panel-heading">
<i class="icon-exclamation-sign"></i>
<span class="break"></span>
<span class="panel-title"><%= t("update_manager_.available_updates") %></span>
<span id="num_new_updates" class="badge badge-important pull-right"></span>
</div>
<div class="pannel-body">
<table class="table table-striped">
<tbody id="new_update_table">
</tbody>
</table>
</div>
</div>
<div style="height: 55px;">
<button id="update_btn" class="btn btn-primary pull-right" style="margin: 10px;"><i class="icon-inbox icon-white"></i> <%= t("update_manager_.system_update") %></button>
</div>
</div>
<div id="update_status">
<div class="panel">
<div class="panel-heading">
<i class="icon-info-sign"></i>
<span class="break"></span>
<span class="panel-title"><%= t("update_manager_.update_status") %></span>
</div>
<div class="pannel-body">
<div id="update_done" class="alert alert-success" style="font-size: 16px; text-align: center; margin: 0px;">
<i class="icon-ok-sign">&nbsp;&nbsp;&nbsp;&nbsp;<%= t("update_manager_.update_done") %></i>
</div>
<div id="update_failed" class="alert alert-error" style="font-size: 16px; text-align: center; margin: 0px;">
<i class="icon-remove">&nbsp;&nbsp;&nbsp;&nbsp;<%= t("update_manager_.update_faild") %></i>
</div>
<div id="update_progress">
<img src="http://ridepal.com/images/homeimg/preloader_transparent.gif" width="50"><br/>
<span id="progress_msg"></span>
</div>
</div>
</div>
<div style="padding: 10px 0; height: 65px;">
<button id="chech_update_btn" class="btn btn-small btn-inverse pull-right"><i class="icon-refresh icon-white"></i> <%= t("update_manager_.check_update") %></button>
</div>
</div>
</div>
<div class="span6">
<div class="panel">
<div class="panel-heading">
<i class="icon-th-list"></i>
<span class="break"></span>
<span class="panel-title"><%= t("update_manager_.update_history") %></span>
<span id="num_updates" class="badge badge-success pull-right"></span>
</div>
<div class="pannel-body" id="update-history-body">
<table class="table table-striped">
<tbody id="update_history_table">
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<script>
var update_logs;
var update_log_display;
var new_updates;
function get_update_history(){
$.getJSON("<%= admin_site_get_update_history_path %>",function(data){
update_logs = data;
update_log_display = 0;
$("#num_updates").text(update_logs.length);
$("#update_history_table").html("");
show_update_history();
});
}
function show_update_history(){
for(var i = 0; i<30; i++){
var log = update_logs[update_log_display];
update_log_display++;
$("#update_history_table").append("<tr><td width=30%'>"+log[0]+"</td><td>"+log[1]+"</td></tr>");
if((update_log_display+1)>update_logs.length) break;
}
}
function check_updates(){
$("#progress_msg").html("<strong><%= t("update_manager_.checking_update") %></strong>");
$("#new_update_container").fadeOut(function(){
$("#update_done").fadeOut(function(){
$("#update_status").fadeIn(function(){
$("#update_progress").fadeIn();
});
});
});
$.getJSON("<%= admin_site_check_updates_path %>",function(data){
new_updates = data;
show_new_updates();
});
}
function show_new_updates(){
if(new_updates.length){
$("#num_new_updates").text(new_updates.length);
$.each(new_updates,function(){
$("#new_update_table").append("<tr><td>"+$(this)[0]+"</td><td>"+$(this)[1]+"</td></tr>");
});
$("#update_status").fadeOut(function(){$("#new_update_container").fadeIn();});
}else{
$("#update_progress").fadeOut(function(){$("#update_done").fadeIn();});
}
}
$(document).ready(function(){
check_updates();
get_update_history();
$("#chech_update_btn").click(check_updates);
$("#update_btn").click(function(){
$("#progress_msg").html("<strong><%= t("update_manager_.updating_orbit") %></strong>");
$("#new_update_container").fadeOut(function(){
$("#update_status").fadeIn();
});
$.get("<%= admin_site_update_orbit_path %>",function(result){
if(result=="failed"){
$("#chech_update_btn").hide();
$("#update_progress").fadeOut(function(){$("#update_failed").fadeIn();});
}else{
$("#progress_msg").html("<strong><%= t("update_manager_.restart_server") %></strong>");
$.get("<%= admin_site_restart_server_path %>",function(result){
$("#update_progress").fadeOut(function(){$("#update_done").fadeIn();});
$("#update_status").fadeIn();
get_update_history();
});
}
});
});
$("#update-history-body").scroll(function () {
if((update_log_display+1)<update_logs.length){
var scroll_pos = ($("#update-history-body").scrollTop()+$("#update-history-body").height())/$("#update_history_table").height()*100;
if(scroll_pos>90){
show_update_history();
}
}
});
});
</script>
@@ -21,7 +21,7 @@
<ul class="nav nav-pills">
<%= content_tag(:li, link_to(t(:edit),edit_admin_users_new_interface_path(user_for_listing))) if is_admin? %>
<%= content_tag(:li, link_to(t("users.setting_privilege"),admin_users_new_interface_edit_privilege_path(user_for_listing))) if is_admin? and current_user.id != user_for_listing.id %>
<%= content_tag(:li, link_to(t(:delete),admin_users_new_interface_path(user_for_listing, :at=>params[:at]), :confirm => t(:sure?), :method => :delete, :class=>"text-error", :remote => true)) if is_admin? %>
<%= content_tag(:li, link_to(t(:delete_),admin_users_new_interface_path(user_for_listing, :at=>params[:at]), :confirm => t(:sure?), :method => :delete, :class=>"text-error", :remote => true)) if is_admin? %>
</ul>
</div>
</td>
+2 -2
View File
@@ -1,7 +1,7 @@
<div id="sidebar-menu">
<div class="scroller">
<ul class="sidebar-nav">
<% OrbitApp::Module::SideBarRegisition.all.each do |t| %>
<% OrbitApp::Module::SideBarRegisition.all.sort{|x,y| x.get_module_app_key <=> y.get_module_app_key}.each do |t| %>
<%= t.render_head(request, params, current_user, @module_app) %>
<% end %>
</ul>
@@ -10,7 +10,7 @@
</div>
<div class="sub-nav-block-list">
<% OrbitApp::Module::SideBarRegisition.all.each do |t| %>
<% OrbitApp::Module::SideBarRegisition.all.sort{|x,y| x.get_module_app_key <=> y.get_module_app_key}.each do |t| %>
<%= t.render(request, params, current_user, @module_app) %>
<% end %>
</div>
+2
View File
@@ -0,0 +1,2 @@
data = File.open(File.join(Rails.root, 'config', 'store_config.yml')).read
STORE_CONFIG = YAML::load(ERB.new(data).result(binding)).symbolize_keys
-24
View File
@@ -80,27 +80,3 @@ default_widget_style:
- style3
- style4
- style5
sites:
coph:
url: coph.ntu.edu.tw
key: "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzpqn0cXyC98jZ2hk4F8W\n0K7qgNSqHvH8unxCbgEuxWvkUA1ld2NMfsj9fTl9f2UlhPtwiaZchVAFSDjpYeQD\nH3A5XtlonUXfTD5XdnKBvk6WtKl7cFuyhIazcxp3MA8/cmSuGbXIjyZLMiUkElZg\n5CZ/1n+yhGFjXQz/d4d8W7sN7AjmhHjTi5vgJF4fkaSr1g6TwWJfLhhzzYsva2z/\nDRkQl3OpUEbSQP1X9/RmManDrYpn7Wrqi9Joqu7rPk0Grki8lCo5T/kaEsQ0wKte\nt7N9QRCBM/f2tOYoH+elitnOJq9zAtAtGaw80xso/GkjMHhcmPnI2YZ90yy1Fvau\nOwIDAQAB\n-----END PUBLIC KEY-----\n"
dph:
url: dph.ntu.edu.tw
key: "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0wNXuqsY6iHiPORSA+M1\nQzzoepGnJGSP92VszqTp7M+rDf6R98J+jFzG4YkMMUaFids4sXTwVp3zfgmhfl5k\nLJiufcXk9U5HYQ5b88kW+8BOAj9GBMQ7tDTw5hkFGL98anAAxZgW/FVovlAr3jv7\nei5/MBRPwctuOYhR4s9Mh47tbCnMFOswyjErEp5OfkbTo+qar44f2m4d1RVPTM1k\n0RCU65+0syw+hYgg01yRuWkSNzHie5FOVD7CujWeTD2CVZFh72kaGLp99ExOtrM3\n7AzS8duVmty/f7RG8DiJdB4a/mcHjcanlBLcowoo3FaaA1Arg1DkdjH0zwB2UVMs\nEQIDAQAB\n-----END PUBLIC KEY-----\n"
ntuhpm:
url: ntuhpm.ntu.edu.tw
key: "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq/kK75YjD3Yvv9wacE0+\ncImWxnVcVFXhtG5T8Hm0tkit3OroJ2BobWHe23QBThnzXCF4+S1XosYw60XPNAKk\nrmImHry9lG2iz/UfXwj49AfMHOw0tpOcf2UHiVAZUKb9zZRAEDL6WbhVQ5C/9jZ1\nKWtrcArRxck1tivgT5tUaKrCHrnj9/jo6eAHiKg0CsEfS0hlXQFfo7/2kBZc0oBq\ntuVyoDADaY1PoyvqzHxZC3eyUTjURVa0+Lkpw9d9jbSUNnf2XfEi51Rt79PlrtNj\naxsQ2UKhz0xYouTXQPt9Mc+vxow9bvd1CPr52ywX37sjRlmOQ4gpcxEPa21bRevW\nwwIDAQAB\n-----END PUBLIC KEY-----\n"
epm:
url: epm.ntu.edu.tw
key: "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0pl5F02WcZC+YLDuowl7\nE2VbgXS/V4R1/pRryGCkuZFBQ5DRw6055dhDp8lribEUYRTk8Y8EUIM+8A1A80Y1\nJqaAhF/ZUE7Io1boqdf0XeRgAmQF4bCphLCSVTz6v2AeAQaS7btUqrLr3t7Ldbso\nbnXQ8qKxsBGTtuvIID5zx2JyRuO1U740KEbt7l5Nnb6zSYYHayOHzsS4FS4HmCa/\nK+1jQcnpis1k7tp/s3tif/9a8t4IjwuxyKI6PEUoyGTZYG9hyrTvoTGobR9g+r6s\n8IluoAauG6IlSjl92sL6D6p+BYS3VsFn+2mznrjgKl9TVt8HfQSgECgfyUAS/OgC\n3wIDAQAB\n-----END PUBLIC KEY-----\n"
ieh:
url: ieh.ntu.edu.tw
key: "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvtmUdzHwAE+b1Bt2HGSr\ny/o8rA4fWIpc9zTn4jXkAoH7yQMO0WsneMn1KxE0eUmhHiGaZGQLGrixxQ9ZG9DP\n1fe41IGRKZRt7ep5rpXQFCXxEwBV+CAmdVpwGM0ji3l9tL4CwKkX+ObmUiorQZLG\nAxQHAWpFdM7foiTNw37vqTm8TDIcCu0HXSV+Mb6IydbpQbvYTHdHN2wlgfIa41qU\nWhYqHckKimvApJCsIDHd8ZF32EuOaalfGFvYB7de7Z1Tn9YLvIqgPgIj6o89q4UK\n5EAr1E6kKX9jk3ru5r0u/EEL0zADdbJAWuops4a+XRdPaZMXqngdlEbcxwKTryU+\ncwIDAQAB\n-----END PUBLIC KEY-----\n"
omih:
url: omih.ntu.edu.tw
key: "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwgyfe4FFBnE6If3TH/L7\nVm43BYEunoK6ItBC9VccUGrhT3ZD5gAdnNC5OkR8HIUEBxtzvD57CsHaaGKrxxAf\nd8XJh5nXZCg5RaoQVaBNjFBmOPm4jZAWPUFPuGRow8Uzs/LzA5HNew196g+qWayB\nglTyX2TJUAADyx6Peq4ZNqEBBB68n4DyugXzfvlk0yXsrLDtbM44bzOhRuosKa7Y\nung+IonA5lqr2mJDrTMDOupIAgW6/4xO7ww2e/pMOVtfoVSw+5YfXFBGCbRjGKwT\nZ4b7whRBBuRd1lgWhQrzOikb+/NtEVQWLpWPpSeTFx5sIUyb5PmQTXtRxZX1xNcS\neQIDAQAB\n-----END PUBLIC KEY-----\n"
mph:
url: mph.ntu.edu.tw
key: "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7rlich0iWAWKUhT7pHji\nOHeEURjnykiX5ElkBD7twy5UyagiD9wVeBOi7mElaJjcR84WfoZVTJVbI08/a5KY\neFURiOy4CigwIFyiDKhwMH5XETuQD96JFqClZGgfxaZAtt9IEpqE3HbqGpPh/0Oc\noLP6Pez8icDYqShZrrZioQZ9XshlZJ6Xt2iStMHNucKHrptMylvtHo6sp/Uy00jC\nubbtH7cvAbQf/Ee/jbGWWMyVwjko1h8u1pMtQlXIC6R0UP6yfCAg7c/0P9eb33OE\n2B6t9i/7kdqTysyKvf6jdDeJeyDYxZVFFXEETu5TzffdhrEK67KAot3J3hi0Qwq7\nvQIDAQAB\n-----END PUBLIC KEY-----\n"
+12 -2
View File
@@ -86,7 +86,6 @@ en:
user_list: Unit
approval_: Approval
approval_setting: Approval setting
archive: Archive
asset: Asset
attributes: Attributes
auth:
@@ -262,7 +261,6 @@ en:
text_area: Text Area
text_field: Text Field
locale: Locale
location: Location
login: Login
logout: Logout
mail:
@@ -533,6 +531,18 @@ en:
success_: Successfully updated
update_: Update
update_at: Update at
update_manager: Update Manager
update_manager_:
available_updates: Available Updates
check_update: Check Update
checking_update: Checking for Updates
system_update: Install Updates
update_done: System is update to date
update_faild: Update failed. Merge is require in the update. Please login to server and update manually.
update_history: Update Histroy
update_status: Update Status
updating_orbit: Updating Orbit. Please wait.
restart_server: Restarting Server. Please wait.
upload: Upload
url: URL
use_status: Use Statue
+12 -2
View File
@@ -86,7 +86,6 @@ zh_tw:
user_list: 使用者列表
approval_: 審核
approval_setting: 審核設定
archive: 檔案室
asset: 資產
attributes: 屬性
auth:
@@ -264,7 +263,6 @@ zh_tw:
text_area: 文字輸入方塊
text_field: 文字輸入框
locale: 位置
location: 地標
login: 登入
logout: 登出
mail:
@@ -536,6 +534,18 @@ zh_tw:
success_: 使用者已更新成功
update_: 更新
update_at: 最後更新時間
update_manager: 更新管理員
update_manager_:
available_updates: 有可用更新
check_update: 檢查更新
checking_update: 檢查更新中
system_update: 安裝更新
update_done: 系統已是最新版本
update_faild: 更新失敗. 更新需要合併程式碼. 請登入伺服器手動進行更新.
update_history: 更新紀錄
update_status: 更新狀態
updating_orbit: 安裝更新中,請稍候.
restart_server: 重啟伺服器中,請稍候.
upload: 上傳
url: 網址
use_status: 使用狀態
+6 -2
View File
@@ -13,8 +13,6 @@ Orbit::Application.routes.draw do
match 'user_logout' => 'sessions#destroy'
end
match "saml_login" => 'saml_logins#index'
mount Resque::Server, :at => "/admin/resque"
mount Rack::GridFS::Endpoint.new(:db => Mongoid.database,:lookup=>:path), :at => "gridfs"
@@ -219,6 +217,11 @@ Orbit::Application.routes.draw do
get 'change_design'
get 'reset_default_locale'
get 'preference'
get 'update_manager'
get 'get_update_history'
get 'check_updates'
get 'update_orbit'
get 'restart_server'
end
get "import_data/get_teacher_data"
@@ -277,6 +280,7 @@ Orbit::Application.routes.draw do
match 'module_store' => 'module_store#index'
match 'module_store/show' => 'module_store#show'
match 'module_store/download' => 'module_store#download'
match 'template_store' => 'template_store#index'
match 'template_store/download_theme' => "template_store#download_theme"
match 'template_store/template/:id' => 'template_store#show', :as => :template_store_template
+2
View File
@@ -0,0 +1,2 @@
store_settings:
url: "http://store.tp.rulingcom.com"
+7 -2
View File
@@ -4,9 +4,13 @@ zh_tw:
ad_banner: 廣告輪播
banner: 橫幅
banner_name: 橫幅名稱
banner_name_note: 橫幅名稱只能為英文
name_only_english: 橫幅名稱只能為英文
edit_banner: 編輯橫幅
enter_number: 請輸入數字
enter_url: 請輸入網址
ste: 轉換間隔時間
ste_note: 請輸入秒數
number_seconds: 請輸入秒數
number_milliseconds: 請輸入毫秒數
best_size: 最佳尺寸
effect: 效果
all: 全部
@@ -16,3 +20,4 @@ zh_tw:
size: 大小
transition_interval: 轉換間隔時間
transition_speed: 轉換速度
type: 類型
@@ -199,6 +199,7 @@ class Panel::Survey::BackEnd::SurveysController < OrbitBackendController
end
end
end
@survey.survey_questions.all.each do |question|
new_question = @new_survey.survey_questions.new
question.attributes.each do |key, value|
@@ -210,30 +211,32 @@ class Panel::Survey::BackEnd::SurveysController < OrbitBackendController
end
end
end
question.survey_question_options.all.each do |option|
new_option = new_question.survey_question_options.new
option.attributes.each do |key, value|
unless ['_id', 'survey_question_id'].include? key
if option.respond_to?(key + '_translations')
new_option.send(key + '_translations=', value)
else
new_option.write_attribute(key, value)
end
end
end
end
question.survey_question_radiogroups.all.each do |radiogroup|
new_radiogroup = new_question.survey_question_radiogroups.new
radiogroup.attributes.each do |key, value|
unless ['_id', 'survey_question_id'].include? key
if radiogroup.respond_to?(key + '_translations')
new_radiogroup.send(key + '_translations=', value)
else
new_radiogroup.write_attribute(key, value)
end
end
end
end
# question.survey_question_options.all.each do |option|
# new_option = new_question.survey_question_options.new
# option.attributes.each do |key, value|
# unless ['_id', 'survey_question_id'].include? key
# if option.respond_to?(key + '_translations')
# new_option.name_translations = value
# else
# new_option.write_attribute(key, value)
# end
# end
# end
# end
# question.survey_question_radiogroups.all.each do |radiogroup|
# new_radiogroup = new_question.survey_question_radiogroups.new
# radiogroup.attributes.each do |key, value|
# unless ['_id', 'survey_question_id'].include? key
# if radiogroup.respond_to?(key + '_translations')
# new_option.name_translations = value
# else
# new_radiogroup.write_attribute(key, value)
# end
# end
# end
# end
end
@new_survey.create_user_id = current_user.id