forked from saurabh/orbit4-5
Fix some bugs
This commit is contained in:
parent
3c8f4bcb53
commit
5eae7b8346
2
Rakefile
2
Rakefile
|
@ -3,4 +3,4 @@
|
||||||
|
|
||||||
require File.expand_path('../config/application', __FILE__)
|
require File.expand_path('../config/application', __FILE__)
|
||||||
|
|
||||||
OrbitStore::Application.load_tasks
|
Orbit::Application.load_tasks
|
||||||
|
|
|
@ -19,7 +19,7 @@ class PagesController < ApplicationController
|
||||||
def home
|
def home
|
||||||
@manifest = @key
|
@manifest = @key
|
||||||
@dataApi = nil
|
@dataApi = nil
|
||||||
page = Page.where(:number => 0,:page_id => "").first
|
page = Page.first
|
||||||
OrbitHelper.set_params params
|
OrbitHelper.set_params params
|
||||||
OrbitHelper.set_site_locale locale
|
OrbitHelper.set_site_locale locale
|
||||||
render :html => render_final_page("home",page).html_safe
|
render :html => render_final_page("home",page).html_safe
|
||||||
|
@ -144,7 +144,7 @@ class PagesController < ApplicationController
|
||||||
|
|
||||||
def get_view
|
def get_view
|
||||||
page = Page.find(params[:id])
|
page = Page.find(params[:id])
|
||||||
if page.page_id == "" && page.number == 0
|
if page == Page.first
|
||||||
@view = File.join(Rails.root, 'app', 'templates', "#{@key}", 'home/index.html.erb')
|
@view = File.join(Rails.root, 'app', 'templates', "#{@key}", 'home/index.html.erb')
|
||||||
else
|
else
|
||||||
module_name = page.module.downcase.pluralize
|
module_name = page.module.downcase.pluralize
|
||||||
|
@ -158,6 +158,7 @@ class PagesController < ApplicationController
|
||||||
@url = "/#{params[:page][:page_id]}"
|
@url = "/#{params[:page][:page_id]}"
|
||||||
else
|
else
|
||||||
page = Page.find(params[:page][:parent_page])
|
page = Page.find(params[:page][:parent_page])
|
||||||
|
page.url = page.url.nil? ? "" : page.url
|
||||||
@url = page.url + "/#{params[:page][:page_id]}"
|
@url = page.url + "/#{params[:page][:page_id]}"
|
||||||
end
|
end
|
||||||
p = params.require(:page).permit(:number, :page_id, :module, :parent_page, name_translations: [:en, :zh_tw])
|
p = params.require(:page).permit(:number, :page_id, :module, :parent_page, name_translations: [:en, :zh_tw])
|
||||||
|
|
|
@ -94,6 +94,7 @@ module ApplicationHelper
|
||||||
(data[keys[0]].kind_of?(Array) ? data[keys[0]] : data[keys[1]]).each do |item|
|
(data[keys[0]].kind_of?(Array) ? data[keys[0]] : data[keys[1]]).each do |item|
|
||||||
el = wrap_element.inner_html
|
el = wrap_element.inner_html
|
||||||
item.each do |key,value|
|
item.each do |key,value|
|
||||||
|
value = value.nil? ? "" : value
|
||||||
el = el.gsub("{{#{key}}}",value)
|
el = el.gsub("{{#{key}}}",value)
|
||||||
el = el.gsub("%7B%7B#{key}%7D%7D",value)
|
el = el.gsub("%7B%7B#{key}%7D%7D",value)
|
||||||
end
|
end
|
||||||
|
@ -104,6 +105,7 @@ module ApplicationHelper
|
||||||
html = doc.to_html
|
html = doc.to_html
|
||||||
if keys[1]
|
if keys[1]
|
||||||
(data[keys[1]].kind_of?(Array) ? data[keys[0]] : data[keys[1]]).each do |key,value|
|
(data[keys[1]].kind_of?(Array) ? data[keys[0]] : data[keys[1]]).each do |key,value|
|
||||||
|
value = value.nil? ? "" : value
|
||||||
html = html.gsub("{{#{key}}}",value)
|
html = html.gsub("{{#{key}}}",value)
|
||||||
html = html.gsub("%7B%7B#{key}%7D%7D",value)
|
html = html.gsub("%7B%7B#{key}%7D%7D",value)
|
||||||
end
|
end
|
||||||
|
@ -119,6 +121,7 @@ module ApplicationHelper
|
||||||
data = controller.send("#{params[:target_action]}")
|
data = controller.send("#{params[:target_action]}")
|
||||||
el = wrap_element_html
|
el = wrap_element_html
|
||||||
data.each do |key,value|
|
data.each do |key,value|
|
||||||
|
value = value.nil? ? "" : value
|
||||||
el = el.gsub("{{#{key}}}",value)
|
el = el.gsub("{{#{key}}}",value)
|
||||||
el = el.gsub("%7B%7B#{key}%7D%7D",value)
|
el = el.gsub("%7B%7B#{key}%7D%7D",value)
|
||||||
end
|
end
|
||||||
|
|
|
@ -26,6 +26,7 @@ module PagesHelper
|
||||||
(data[keys[0]].kind_of?(Array) ? data[keys[0]] : data[keys[1]]).each do |item|
|
(data[keys[0]].kind_of?(Array) ? data[keys[0]] : data[keys[1]]).each do |item|
|
||||||
el = wrap_element.inner_html
|
el = wrap_element.inner_html
|
||||||
item.each do |key,value|
|
item.each do |key,value|
|
||||||
|
value = value.nil? ? "" : value
|
||||||
el = el.gsub("{{#{key}}}",value)
|
el = el.gsub("{{#{key}}}",value)
|
||||||
el = el.gsub("%7B%7B#{key}%7D%7D",value)
|
el = el.gsub("%7B%7B#{key}%7D%7D",value)
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,16 +2,21 @@
|
||||||
extend ActiveSupport::Concern
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
included do
|
included do
|
||||||
|
index({ uid: 1}, { unique: true })
|
||||||
|
|
||||||
|
validates_uniqueness_of :uid
|
||||||
|
|
||||||
before_create :generate_uid
|
before_create :generate_uid
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_param
|
def to_param
|
||||||
[self.title.gsub(/[ "'*@#$%^&()+=;:.,?>|\\<~_!]/,'-').gsub(/-{2,}/,'-'), self.uid].join("-")
|
(self.slug_title.gsub(/[ "'*@#$%^&()+=;:.,?>|\\<~_!:,、。!?;「」〈〉【】/]/,'-')+"-"+self.uid).gsub(/-{2,}/,'-') rescue "-"+self.uid
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def generate_uid
|
def generate_uid
|
||||||
self.uid = rand(36**8).to_s(36)
|
self.uid = rand(10**8).to_s
|
||||||
|
generate_uid if self.class.where(:uid=>self.uid).size > 0
|
||||||
end
|
end
|
||||||
end
|
end
|
|
@ -13,7 +13,7 @@ require "mongoid/railtie"
|
||||||
# you've limited to :test, :development, or :production.
|
# you've limited to :test, :development, or :production.
|
||||||
Bundler.require(:default, Rails.env)
|
Bundler.require(:default, Rails.env)
|
||||||
|
|
||||||
module OrbitStore
|
module Orbit
|
||||||
class Application < Rails::Application
|
class Application < Rails::Application
|
||||||
# Settings in config/environments/* take precedence over those specified here.
|
# Settings in config/environments/* take precedence over those specified here.
|
||||||
# Application configuration should go into files in config/initializers
|
# Application configuration should go into files in config/initializers
|
||||||
|
|
|
@ -2,4 +2,10 @@
|
||||||
require File.expand_path('../application', __FILE__)
|
require File.expand_path('../application', __FILE__)
|
||||||
|
|
||||||
# Initialize the Rails application.
|
# Initialize the Rails application.
|
||||||
OrbitStore::Application.initialize!
|
Orbit::Application.initialize!
|
||||||
|
if Page.count == 0
|
||||||
|
home = Page.new
|
||||||
|
home.name_translations = {:en=>"home",:zh_tw=>"首頁"}
|
||||||
|
home.url = ""
|
||||||
|
home.save
|
||||||
|
end
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
OrbitStore::Application.configure do
|
Orbit::Application.configure do
|
||||||
# Settings specified here will take precedence over those in config/application.rb.
|
# Settings specified here will take precedence over those in config/application.rb.
|
||||||
|
|
||||||
# In the development environment your application's code is reloaded on
|
# In the development environment your application's code is reloaded on
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
OrbitStore::Application.configure do
|
Orbit::Application.configure do
|
||||||
# Settings specified here will take precedence over those in config/application.rb.
|
# Settings specified here will take precedence over those in config/application.rb.
|
||||||
|
|
||||||
# Code is not reloaded between requests.
|
# Code is not reloaded between requests.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
OrbitStore::Application.configure do
|
Orbit::Application.configure do
|
||||||
# Settings specified here will take precedence over those in config/application.rb.
|
# Settings specified here will take precedence over those in config/application.rb.
|
||||||
|
|
||||||
# The test environment is used exclusively to run your application's
|
# The test environment is used exclusively to run your application's
|
||||||
|
|
|
@ -9,4 +9,4 @@
|
||||||
|
|
||||||
# Make sure your secret_key_base is kept private
|
# Make sure your secret_key_base is kept private
|
||||||
# if you're sharing your code publicly.
|
# if you're sharing your code publicly.
|
||||||
OrbitStore::Application.config.secret_key_base = 'acc6ffc5a7d360c9cf2a7bdb4ddf9a897942ec6767413a5c0324a0fa8b86197a96298288a66bd46d8770d8b6edf509aad65716961c2c364ce006b475e6cfd418'
|
Orbit::Application.config.secret_key_base = 'acc6ffc5a7d360c9cf2a7bdb4ddf9a897942ec6767413a5c0324a0fa8b86197a96298288a66bd46d8770d8b6edf509aad65716961c2c364ce006b475e6cfd418'
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
# Be sure to restart your server when you modify this file.
|
# Be sure to restart your server when you modify this file.
|
||||||
|
|
||||||
OrbitStore::Application.config.session_store :cookie_store, key: '_orbit_store_session'
|
Orbit::Application.config.session_store :cookie_store, key: '_orbit_store_session'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
OrbitStore::Application.routes.draw do
|
Orbit::Application.routes.draw do
|
||||||
|
|
||||||
get "/pages/edit_view" => "pages#edit_view"
|
get "/pages/edit_view" => "pages#edit_view"
|
||||||
get "/pages/preview" => "pages#preview"
|
get "/pages/preview" => "pages#preview"
|
||||||
|
|
Loading…
Reference in New Issue