forked from saurabh/orbit4-5
Merge branch 'development' of gitlab.tp.rulingcom.com:saurabh/orbit4-5
This commit is contained in:
commit
f687a8f9ad
2
Gemfile
2
Gemfile
|
@ -34,7 +34,7 @@ gem 'mongoid', github: "mongoid/mongoid"
|
||||||
gem "mini_magick", "3.5.0"
|
gem "mini_magick", "3.5.0"
|
||||||
gem 'carrierwave'
|
gem 'carrierwave'
|
||||||
gem 'carrierwave-mongoid', :require => 'carrierwave/mongoid'
|
gem 'carrierwave-mongoid', :require => 'carrierwave/mongoid'
|
||||||
|
gem 'zip-zip'
|
||||||
gem 'kaminari'
|
gem 'kaminari'
|
||||||
gem "impressionist"
|
gem "impressionist"
|
||||||
gem "chartkick"
|
gem "chartkick"
|
||||||
|
|
|
@ -25,7 +25,10 @@ var FormValidator = function(form){
|
||||||
nospace : function(value){
|
nospace : function(value){
|
||||||
return (/\s/.test(value) ? false : true);
|
return (/\s/.test(value) ? false : true);
|
||||||
},
|
},
|
||||||
email : function(value){
|
lowercase : function(value){
|
||||||
|
return (value == value.toLowerCase() ? true : false);
|
||||||
|
},
|
||||||
|
email : function(){
|
||||||
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
||||||
return re.test(value);
|
return re.test(value);
|
||||||
}
|
}
|
||||||
|
@ -40,6 +43,11 @@ var FormValidator = function(form){
|
||||||
|
|
||||||
var _attachSubmitHandler = function(){
|
var _attachSubmitHandler = function(){
|
||||||
fv.form.on("submit",function(){
|
fv.form.on("submit",function(){
|
||||||
|
return fv.isFormValidated();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
this.isFormValidated = function(){
|
||||||
failed_elements = [];
|
failed_elements = [];
|
||||||
$.each(elements_data,function(key,element){
|
$.each(elements_data,function(key,element){
|
||||||
var validators = element.validators,
|
var validators = element.validators,
|
||||||
|
@ -68,7 +76,6 @@ var FormValidator = function(form){
|
||||||
}else{
|
}else{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var _putFieldsValidatorAndMessage = function(){
|
var _putFieldsValidatorAndMessage = function(){
|
||||||
|
|
|
@ -107,6 +107,8 @@ class Admin::SitesController < OrbitAdminController
|
||||||
result = "success"
|
result = "success"
|
||||||
# Bundler.with_clean_env { `cd #{Rails.root} && bundle update` }
|
# Bundler.with_clean_env { `cd #{Rails.root} && bundle update` }
|
||||||
Bundler.with_clean_env { `cd #{Rails.root} && BUNDLE_GEMFILE=built_in_extensions.rb bundle update && bundle` }
|
Bundler.with_clean_env { `cd #{Rails.root} && BUNDLE_GEMFILE=built_in_extensions.rb bundle update && bundle` }
|
||||||
|
Bundler.with_clean_env { `cd #{Rails.root} && BUNDLE_GEMFILE=downloaded_extensions.rb bundle update && bundle` }
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
render :text => result
|
render :text => result
|
||||||
|
|
|
@ -190,7 +190,6 @@ class MembersController < ApplicationController
|
||||||
def member_data(member, fields_to_show)
|
def member_data(member, fields_to_show)
|
||||||
profile_data = []
|
profile_data = []
|
||||||
fields_to_show.each do |field|
|
fields_to_show.each do |field|
|
||||||
# debugger
|
|
||||||
case field['type']
|
case field['type']
|
||||||
when 'profile'
|
when 'profile'
|
||||||
field_data = member.get_attribute_data(field) rescue {}
|
field_data = member.get_attribute_data(field) rescue {}
|
||||||
|
|
|
@ -75,18 +75,6 @@ class PagesController < ApplicationController
|
||||||
end
|
end
|
||||||
params[:url] = page.url
|
params[:url] = page.url
|
||||||
categories = []
|
categories = []
|
||||||
if page.module == "member"
|
|
||||||
if page.categories.first == "all"
|
|
||||||
categories = ["all"]
|
|
||||||
else
|
|
||||||
page.categories.each do |c|
|
|
||||||
category = Role.find(c) rescue nil
|
|
||||||
if !category.nil? && !category.disabled
|
|
||||||
categories << c
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
else
|
|
||||||
page.categories.each do |c|
|
page.categories.each do |c|
|
||||||
category = Category.find(c) rescue nil
|
category = Category.find(c) rescue nil
|
||||||
if !category.nil? && !category.disable
|
if !category.nil? && !category.disable
|
||||||
|
@ -94,7 +82,6 @@ class PagesController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
categories = ["all"] if categories.blank?
|
categories = ["all"] if categories.blank?
|
||||||
end
|
|
||||||
@manifest = @key
|
@manifest = @key
|
||||||
OrbitHelper.set_params params,current_user
|
OrbitHelper.set_params params,current_user
|
||||||
OrbitHelper.set_site_locale locale
|
OrbitHelper.set_site_locale locale
|
||||||
|
@ -190,18 +177,26 @@ class PagesController < ApplicationController
|
||||||
"id" => cat.id.to_s
|
"id" => cat.id.to_s
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
tags = module_app.tags.collect do |t|
|
||||||
|
{
|
||||||
|
"name" => t.name,
|
||||||
|
"id" => t.id.to_s
|
||||||
|
}
|
||||||
|
end
|
||||||
else
|
else
|
||||||
categories = []
|
categories = []
|
||||||
|
tags = []
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
roles = roles.nil? ? [] : roles
|
roles = roles.nil? ? [] : roles
|
||||||
categories = categories.nil? ? [] : categories
|
categories = categories.nil? ? [] : categories
|
||||||
|
tags = tags.nil? ? [] : tags
|
||||||
|
|
||||||
if module_app.data_count.nil?
|
if module_app.data_count.nil?
|
||||||
render :json => {"categories" => categories, "tags" => module_app.tags,"roles" => roles,"layouts" => (get_layouts module_app.key),"data_count" => {"present"=>false}, "locale" => I18n.locale.to_s}.to_json
|
render :json => {"categories" => categories, "tags" => tags,"roles" => roles,"layouts" => (get_layouts module_app.key),"data_count" => {"present"=>false}, "locale" => I18n.locale.to_s}.to_json
|
||||||
else
|
else
|
||||||
render :json => {"categories" => categories, "tags" => module_app.tags,"roles" => roles,"layouts" => (get_layouts module_app.key),"data_count" => {"present"=>true,"start"=>module_app.data_count.begin, "end" => module_app.data_count.end}, "locale" => I18n.locale.to_s}.to_json
|
render :json => {"categories" => categories, "tags" => tags,"roles" => roles,"layouts" => (get_layouts module_app.key),"data_count" => {"present"=>true,"start"=>module_app.data_count.begin, "end" => module_app.data_count.end}, "locale" => I18n.locale.to_s}.to_json
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -436,6 +431,7 @@ class PagesController < ApplicationController
|
||||||
p = params.require(:page).permit(:number, :page_type, :page_id, :module, :layout, :parent_page, :data_count, :enabled_for_mobile, :member_sort_position, enabled_for_sitemap: [], enabled_for: [],menu_enabled_for: [], categories: [], tags: [], role_status: [], name_translations: valid_locales, external_url_translations: valid_locales)
|
p = params.require(:page).permit(:number, :page_type, :page_id, :module, :layout, :parent_page, :data_count, :enabled_for_mobile, :member_sort_position, enabled_for_sitemap: [], enabled_for: [],menu_enabled_for: [], categories: [], tags: [], role_status: [], name_translations: valid_locales, external_url_translations: valid_locales)
|
||||||
p["role_status"] = p["role_status"] || []
|
p["role_status"] = p["role_status"] || []
|
||||||
p["categories"] = p["categories"] || []
|
p["categories"] = p["categories"] || []
|
||||||
|
p["tags"] = p["tags"] || []
|
||||||
p["enabled_for"] = p["enabled_for"] || []
|
p["enabled_for"] = p["enabled_for"] || []
|
||||||
p["menu_enabled_for"] = p["menu_enabled_for"] || []
|
p["menu_enabled_for"] = p["menu_enabled_for"] || []
|
||||||
p["enabled_for_sitemap"] = p["enabled_for_sitemap"] || []
|
p["enabled_for_sitemap"] = p["enabled_for_sitemap"] || []
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
require "net/http"
|
||||||
|
require 'open-uri'
|
||||||
|
require 'zip/zip'
|
||||||
class StoreApiController < ApplicationController
|
class StoreApiController < ApplicationController
|
||||||
def confirmation
|
def confirmation
|
||||||
site_token = params[:site_token]
|
site_token = params[:site_token]
|
||||||
|
@ -11,4 +14,49 @@ class StoreApiController < ApplicationController
|
||||||
render :json => {"success" => false}.to_json
|
render :json => {"success" => false}.to_json
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def install_module
|
||||||
|
file = File.join(Rails.root,"downloaded_extensions.rb")
|
||||||
|
g = "gem '#{params[:module_key]}', git: '#{params[:git_path]}'"
|
||||||
|
File.open(file,"a+") { |f| f.puts(g) }
|
||||||
|
if !directory_exists?(File.join(Rails.root,"app","templates","#{Site.first.template}","modules","#{params[:module_key]}"))
|
||||||
|
download_template(params[:template],params[:template_filename])
|
||||||
|
end
|
||||||
|
bundle_install
|
||||||
|
render :json => {"success" => true} .to_json
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
def bundle_install
|
||||||
|
Bundler.with_clean_env { `cd #{Rails.root} && BUNDLE_GEMFILE=downloaded_extensions.rb bundle update && bundle` }
|
||||||
|
%x(kill -s USR2 `cat tmp/pids/unicorn.pid`)
|
||||||
|
sleep 5
|
||||||
|
end
|
||||||
|
|
||||||
|
def download_template(url,name)
|
||||||
|
dir = File.join(Rails.root,"public","template_cache")
|
||||||
|
destination = File.join(Rails.root,"app","templates","#{Site.first.template}","modules")
|
||||||
|
if !directory_exists?(dir)
|
||||||
|
Dir.mkdir dir
|
||||||
|
end
|
||||||
|
zipfile = File.join(Rails.root, "public" , "template_cache", name)
|
||||||
|
open(zipfile, 'wb') do |fo|
|
||||||
|
fo.print open(url).read
|
||||||
|
end
|
||||||
|
unzip_file(zipfile,destination)
|
||||||
|
end
|
||||||
|
|
||||||
|
def directory_exists?(directory)
|
||||||
|
File.directory?(directory)
|
||||||
|
end
|
||||||
|
|
||||||
|
def unzip_file (file, destination)
|
||||||
|
Zip::ZipFile.open(file) { |zip_file|
|
||||||
|
zip_file.each { |f|
|
||||||
|
f_path=File.join(destination, f.name)
|
||||||
|
FileUtils.mkdir_p(File.dirname(f_path))
|
||||||
|
zip_file.extract(f, f_path) unless File.exist?(f_path)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end
|
||||||
end
|
end
|
|
@ -64,6 +64,8 @@ module ApplicationHelper
|
||||||
end
|
end
|
||||||
site_footer = site_footer.nil? ? "" : site_footer
|
site_footer = site_footer.nil? ? "" : site_footer
|
||||||
html = html.gsub("{{footer-data}}",site_footer)
|
html = html.gsub("{{footer-data}}",site_footer)
|
||||||
|
counter = Page.root.view_count.to_s rescue ""
|
||||||
|
html = html.gsub("{{site-counter}}",counter)
|
||||||
html.html_safe
|
html.html_safe
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<footer class="layout-footer">
|
<footer class="layout-footer">
|
||||||
<div class="container layout-footer-inner">
|
<div class="container layout-footer-inner">
|
||||||
<div class="layout-footer-content">{{footer-data}}</div>
|
<div class="layout-footer-content">{{footer-data}}</div>
|
||||||
|
<div>{{site-counter}}</div>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
|
@ -19,8 +19,11 @@
|
||||||
<div class="tab-content" data-list="plugins" data-level="0">
|
<div class="tab-content" data-list="plugins" data-level="0">
|
||||||
<div class="tab-pane {{plugin_class}}" id="{{plugin_name}}">
|
<div class="tab-pane {{plugin_class}}" id="{{plugin_name}}">
|
||||||
<table class="table table-hover table-striped">
|
<table class="table table-hover table-striped">
|
||||||
|
<tbody data-list="plugin_data_intro" data-level="1">
|
||||||
|
<tr class="{{brief_display}}"><td>{{data_intro_title}}</td></tr>
|
||||||
|
</tbody>
|
||||||
<tbody data-list="plugin_data" data-level="1">
|
<tbody data-list="plugin_data" data-level="1">
|
||||||
<tr><td><a href="{{link_to_show}}">{{data_title}}</a></td></tr>
|
<tr><td class="{{complete_display}}"><a href="{{link_to_show}}">{{data_title}}</a></td></tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -27,6 +27,7 @@ Orbit::Application.routes.draw do
|
||||||
get "/module/:name" => "home#index"
|
get "/module/:name" => "home#index"
|
||||||
get "/module/:name/show" => "home#show"
|
get "/module/:name/show" => "home#show"
|
||||||
post "/store/confirmation" => "store_api#confirmation"
|
post "/store/confirmation" => "store_api#confirmation"
|
||||||
|
post "/store/install_module" => "store_api#install_module"
|
||||||
|
|
||||||
# The priority is based upon order of creation: first created -> highest priority.
|
# The priority is based upon order of creation: first created -> highest priority.
|
||||||
# See how all your routes lay out with "rake routes".
|
# See how all your routes lay out with "rake routes".
|
||||||
|
|
Loading…
Reference in New Issue