diff --git a/Gemfile b/Gemfile index c893a899..e9f5c697 100644 --- a/Gemfile +++ b/Gemfile @@ -79,7 +79,6 @@ group :test, :development do gem 'faker' gem "sunspot-rails-tester" - gem 'spork' gem 'database_cleaner' #Strategies for cleaning databases. Can be used to ensure a clean state for testing. gem "rspec", "~> 2.0" gem "rspec-rails", "~> 2.0" @@ -89,7 +88,7 @@ group :test, :development do gem "delorean" gem "watchr" gem "spork" - # gem "capybara" + gem "capybara" # gem 'yard' # gem "bluecloth" end diff --git a/app/assets/images/ar1.png b/app/assets/images/ar1.png new file mode 100644 index 00000000..95d8171d Binary files /dev/null and b/app/assets/images/ar1.png differ diff --git a/app/assets/images/dropdown_ad.png b/app/assets/images/dropdown_ad.png new file mode 100644 index 00000000..88af6563 Binary files /dev/null and b/app/assets/images/dropdown_ad.png differ diff --git a/app/assets/images/f1.jpg b/app/assets/images/f1.jpg new file mode 100644 index 00000000..ea5b67ff Binary files /dev/null and b/app/assets/images/f1.jpg differ diff --git a/app/assets/images/f2.jpg b/app/assets/images/f2.jpg new file mode 100644 index 00000000..db5a35e5 Binary files /dev/null and b/app/assets/images/f2.jpg differ diff --git a/app/assets/images/f3.jpg b/app/assets/images/f3.jpg new file mode 100644 index 00000000..b799a63f Binary files /dev/null and b/app/assets/images/f3.jpg differ diff --git a/app/assets/images/logo.png b/app/assets/images/logo.png new file mode 100644 index 00000000..092a8b24 Binary files /dev/null and b/app/assets/images/logo.png differ diff --git a/app/assets/images/mfilter_bg.jpg b/app/assets/images/mfilter_bg.jpg new file mode 100644 index 00000000..232b20d1 Binary files /dev/null and b/app/assets/images/mfilter_bg.jpg differ diff --git a/app/assets/images/mheader_bg.jpg b/app/assets/images/mheader_bg.jpg new file mode 100644 index 00000000..320e3e55 Binary files /dev/null and b/app/assets/images/mheader_bg.jpg differ diff --git a/app/assets/images/module/thumb/mt1.jpg b/app/assets/images/module/thumb/mt1.jpg new file mode 100644 index 00000000..bab6ab79 Binary files /dev/null and b/app/assets/images/module/thumb/mt1.jpg differ diff --git a/app/assets/images/module/thumb/mt10.jpg b/app/assets/images/module/thumb/mt10.jpg new file mode 100644 index 00000000..404f99f8 Binary files /dev/null and b/app/assets/images/module/thumb/mt10.jpg differ diff --git a/app/assets/images/module/thumb/mt11.jpg b/app/assets/images/module/thumb/mt11.jpg new file mode 100644 index 00000000..81dc5f87 Binary files /dev/null and b/app/assets/images/module/thumb/mt11.jpg differ diff --git a/app/assets/images/module/thumb/mt12.jpg b/app/assets/images/module/thumb/mt12.jpg new file mode 100644 index 00000000..80d6a849 Binary files /dev/null and b/app/assets/images/module/thumb/mt12.jpg differ diff --git a/app/assets/images/module/thumb/mt2.jpg b/app/assets/images/module/thumb/mt2.jpg new file mode 100644 index 00000000..8fb3daa9 Binary files /dev/null and b/app/assets/images/module/thumb/mt2.jpg differ diff --git a/app/assets/images/module/thumb/mt3.jpg b/app/assets/images/module/thumb/mt3.jpg new file mode 100644 index 00000000..1fbaeabf Binary files /dev/null and b/app/assets/images/module/thumb/mt3.jpg differ diff --git a/app/assets/images/module/thumb/mt4.jpg b/app/assets/images/module/thumb/mt4.jpg new file mode 100644 index 00000000..8bdc5566 Binary files /dev/null and b/app/assets/images/module/thumb/mt4.jpg differ diff --git a/app/assets/images/module/thumb/mt5.jpg b/app/assets/images/module/thumb/mt5.jpg new file mode 100644 index 00000000..30b009f5 Binary files /dev/null and b/app/assets/images/module/thumb/mt5.jpg differ diff --git a/app/assets/images/module/thumb/mt6.jpg b/app/assets/images/module/thumb/mt6.jpg new file mode 100644 index 00000000..3ae48ef1 Binary files /dev/null and b/app/assets/images/module/thumb/mt6.jpg differ diff --git a/app/assets/images/module/thumb/mt7.jpg b/app/assets/images/module/thumb/mt7.jpg new file mode 100644 index 00000000..f6ea651b Binary files /dev/null and b/app/assets/images/module/thumb/mt7.jpg differ diff --git a/app/assets/images/module/thumb/mt8.jpg b/app/assets/images/module/thumb/mt8.jpg new file mode 100644 index 00000000..fa450b3c Binary files /dev/null and b/app/assets/images/module/thumb/mt8.jpg differ diff --git a/app/assets/images/module/thumb/mt9.jpg b/app/assets/images/module/thumb/mt9.jpg new file mode 100644 index 00000000..b1fc605b Binary files /dev/null and b/app/assets/images/module/thumb/mt9.jpg differ diff --git a/app/assets/images/modulestore/app-icon.jpg b/app/assets/images/modulestore/app-icon.jpg deleted file mode 100644 index 711f0481..00000000 Binary files a/app/assets/images/modulestore/app-icon.jpg and /dev/null differ diff --git a/app/assets/images/modulestore/app.jpg b/app/assets/images/modulestore/app.jpg deleted file mode 100644 index 66795882..00000000 Binary files a/app/assets/images/modulestore/app.jpg and /dev/null differ diff --git a/app/assets/images/modulestore/carousel_feature.png b/app/assets/images/modulestore/carousel_feature.png deleted file mode 100644 index ee38685f..00000000 Binary files a/app/assets/images/modulestore/carousel_feature.png and /dev/null differ diff --git a/app/assets/images/modulestore/deault-app-icon.jpg b/app/assets/images/modulestore/deault-app-icon.jpg deleted file mode 100644 index 3bbc5a67..00000000 Binary files a/app/assets/images/modulestore/deault-app-icon.jpg and /dev/null differ diff --git a/app/assets/images/modulestore/dropbox.jpg b/app/assets/images/modulestore/dropbox.jpg deleted file mode 100644 index e48bf90f..00000000 Binary files a/app/assets/images/modulestore/dropbox.jpg and /dev/null differ diff --git a/app/assets/images/modulestore/h1_bg.png b/app/assets/images/modulestore/h1_bg.png deleted file mode 100644 index c413594c..00000000 Binary files a/app/assets/images/modulestore/h1_bg.png and /dev/null differ diff --git a/app/assets/images/modulestore/left_nav.png b/app/assets/images/modulestore/left_nav.png deleted file mode 100644 index e312ed92..00000000 Binary files a/app/assets/images/modulestore/left_nav.png and /dev/null differ diff --git a/app/assets/images/modulestore/right_nav.png b/app/assets/images/modulestore/right_nav.png deleted file mode 100644 index df81ea5d..00000000 Binary files a/app/assets/images/modulestore/right_nav.png and /dev/null differ diff --git a/app/assets/images/modulestore/screen-capture.jpg b/app/assets/images/modulestore/screen-capture.jpg deleted file mode 100644 index 52475c04..00000000 Binary files a/app/assets/images/modulestore/screen-capture.jpg and /dev/null differ diff --git a/app/assets/images/modulestore/screenshot1.jpg b/app/assets/images/modulestore/screenshot1.jpg deleted file mode 100644 index fc562e95..00000000 Binary files a/app/assets/images/modulestore/screenshot1.jpg and /dev/null differ diff --git a/app/assets/images/modulestore/screenshot2.jpg b/app/assets/images/modulestore/screenshot2.jpg deleted file mode 100644 index c9837583..00000000 Binary files a/app/assets/images/modulestore/screenshot2.jpg and /dev/null differ diff --git a/app/assets/images/modulestore/screenshot3.jpg b/app/assets/images/modulestore/screenshot3.jpg deleted file mode 100644 index b0a9c642..00000000 Binary files a/app/assets/images/modulestore/screenshot3.jpg and /dev/null differ diff --git a/app/assets/images/modulestore/screenshot4.jpg b/app/assets/images/modulestore/screenshot4.jpg deleted file mode 100644 index fd11b777..00000000 Binary files a/app/assets/images/modulestore/screenshot4.jpg and /dev/null differ diff --git a/app/assets/images/modulestore/screenshot5.jpg b/app/assets/images/modulestore/screenshot5.jpg deleted file mode 100644 index 5231eeda..00000000 Binary files a/app/assets/images/modulestore/screenshot5.jpg and /dev/null differ diff --git a/app/assets/images/modulestore/slide01.jpg b/app/assets/images/modulestore/slide01.jpg deleted file mode 100644 index eb9f8eb9..00000000 Binary files a/app/assets/images/modulestore/slide01.jpg and /dev/null differ diff --git a/app/assets/images/mside_bg.png b/app/assets/images/mside_bg.png new file mode 100644 index 00000000..8fcdc325 Binary files /dev/null and b/app/assets/images/mside_bg.png differ diff --git a/app/assets/images/template/thumb/tb1.jpg b/app/assets/images/template/thumb/tb1.jpg new file mode 100644 index 00000000..3b42d6b6 Binary files /dev/null and b/app/assets/images/template/thumb/tb1.jpg differ diff --git a/app/assets/images/template/thumb/tb10.jpg b/app/assets/images/template/thumb/tb10.jpg new file mode 100644 index 00000000..e33b989f Binary files /dev/null and b/app/assets/images/template/thumb/tb10.jpg differ diff --git a/app/assets/images/template/thumb/tb11.jpg b/app/assets/images/template/thumb/tb11.jpg new file mode 100644 index 00000000..4cf624a0 Binary files /dev/null and b/app/assets/images/template/thumb/tb11.jpg differ diff --git a/app/assets/images/template/thumb/tb12.jpg b/app/assets/images/template/thumb/tb12.jpg new file mode 100644 index 00000000..6e5ebb66 Binary files /dev/null and b/app/assets/images/template/thumb/tb12.jpg differ diff --git a/app/assets/images/template/thumb/tb2.jpg b/app/assets/images/template/thumb/tb2.jpg new file mode 100644 index 00000000..543b45d9 Binary files /dev/null and b/app/assets/images/template/thumb/tb2.jpg differ diff --git a/app/assets/images/template/thumb/tb3.jpg b/app/assets/images/template/thumb/tb3.jpg new file mode 100644 index 00000000..2ec440d8 Binary files /dev/null and b/app/assets/images/template/thumb/tb3.jpg differ diff --git a/app/assets/images/template/thumb/tb4.jpg b/app/assets/images/template/thumb/tb4.jpg new file mode 100644 index 00000000..91da70c5 Binary files /dev/null and b/app/assets/images/template/thumb/tb4.jpg differ diff --git a/app/assets/images/template/thumb/tb5.jpg b/app/assets/images/template/thumb/tb5.jpg new file mode 100644 index 00000000..8ec85d0a Binary files /dev/null and b/app/assets/images/template/thumb/tb5.jpg differ diff --git a/app/assets/images/template/thumb/tb6.jpg b/app/assets/images/template/thumb/tb6.jpg new file mode 100644 index 00000000..22850b37 Binary files /dev/null and b/app/assets/images/template/thumb/tb6.jpg differ diff --git a/app/assets/images/template/thumb/tb7.jpg b/app/assets/images/template/thumb/tb7.jpg new file mode 100644 index 00000000..15dfad01 Binary files /dev/null and b/app/assets/images/template/thumb/tb7.jpg differ diff --git a/app/assets/images/template/thumb/tb8.jpg b/app/assets/images/template/thumb/tb8.jpg new file mode 100644 index 00000000..150a2501 Binary files /dev/null and b/app/assets/images/template/thumb/tb8.jpg differ diff --git a/app/assets/images/template/thumb/tb9.jpg b/app/assets/images/template/thumb/tb9.jpg new file mode 100644 index 00000000..5cce5089 Binary files /dev/null and b/app/assets/images/template/thumb/tb9.jpg differ diff --git a/app/assets/images/templatestore/h1_bg.png b/app/assets/images/templatestore/h1_bg.png deleted file mode 100644 index b8f1f01b..00000000 Binary files a/app/assets/images/templatestore/h1_bg.png and /dev/null differ diff --git a/app/assets/images/templatestore/screenshot1.jpg b/app/assets/images/templatestore/screenshot1.jpg deleted file mode 100644 index fc562e95..00000000 Binary files a/app/assets/images/templatestore/screenshot1.jpg and /dev/null differ diff --git a/app/assets/images/templatestore/screenshot2.jpg b/app/assets/images/templatestore/screenshot2.jpg deleted file mode 100644 index c9837583..00000000 Binary files a/app/assets/images/templatestore/screenshot2.jpg and /dev/null differ diff --git a/app/assets/images/templatestore/screenshot3.jpg b/app/assets/images/templatestore/screenshot3.jpg deleted file mode 100644 index b0a9c642..00000000 Binary files a/app/assets/images/templatestore/screenshot3.jpg and /dev/null differ diff --git a/app/assets/images/templatestore/screenshot4.jpg b/app/assets/images/templatestore/screenshot4.jpg deleted file mode 100644 index fd11b777..00000000 Binary files a/app/assets/images/templatestore/screenshot4.jpg and /dev/null differ diff --git a/app/assets/images/templatestore/screenshot5.jpg b/app/assets/images/templatestore/screenshot5.jpg deleted file mode 100644 index 5231eeda..00000000 Binary files a/app/assets/images/templatestore/screenshot5.jpg and /dev/null differ diff --git a/app/assets/images/templatestore/template-icon.jpg b/app/assets/images/templatestore/template-icon.jpg deleted file mode 100644 index 7dca3b02..00000000 Binary files a/app/assets/images/templatestore/template-icon.jpg and /dev/null differ diff --git a/app/assets/images/templatestore/template.jpg b/app/assets/images/templatestore/template.jpg deleted file mode 100644 index 76fb1064..00000000 Binary files a/app/assets/images/templatestore/template.jpg and /dev/null differ diff --git a/app/assets/images/tfilter_bg.jpg b/app/assets/images/tfilter_bg.jpg new file mode 100644 index 00000000..5d1820d8 Binary files /dev/null and b/app/assets/images/tfilter_bg.jpg differ diff --git a/app/assets/images/theader_bg.jpg b/app/assets/images/theader_bg.jpg new file mode 100644 index 00000000..fd00f380 Binary files /dev/null and b/app/assets/images/theader_bg.jpg differ diff --git a/app/assets/images/thumb_default.png b/app/assets/images/thumb_default.png new file mode 100644 index 00000000..8eeaaf30 Binary files /dev/null and b/app/assets/images/thumb_default.png differ diff --git a/app/assets/images/tlist_tap.png b/app/assets/images/tlist_tap.png new file mode 100644 index 00000000..0be04d35 Binary files /dev/null and b/app/assets/images/tlist_tap.png differ diff --git a/app/assets/images/topnav_bg.png b/app/assets/images/topnav_bg.png new file mode 100644 index 00000000..06d16c6a Binary files /dev/null and b/app/assets/images/topnav_bg.png differ diff --git a/app/assets/images/ui_bg.png b/app/assets/images/ui_bg.png new file mode 100644 index 00000000..00446586 Binary files /dev/null and b/app/assets/images/ui_bg.png differ diff --git a/app/assets/javascripts/desktop/journal_pages.js.erb b/app/assets/javascripts/desktop/journal_pages.js.erb index 4af5715c..e2ed7bd6 100644 --- a/app/assets/javascripts/desktop/journal_pages.js.erb +++ b/app/assets/javascripts/desktop/journal_pages.js.erb @@ -63,6 +63,10 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ // }) $(".bt-cancel").click(function(){ $("div[container=true]").html(prev_data); + o.tinyscrollbar_ext({ + main: '.tinycanvas', + fill: '.list_t' + }) }) } }) @@ -116,7 +120,7 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ // li; $.each(journalData,function(i,journal){ $.each(journal.papers,function(j,paper){ - li = $('
  • '+journal.title+'
    '+paper.title+'
    Edit Delete
  • '); + li = $('
  • '+journal.title+'
    '+paper.title+'
    Edit Delete
  • '); column.find("ul").append(li); if(counter%5==0){ $("#journal_p div#paper_list div.overview").append(column); @@ -136,18 +140,23 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ // $.each(journalData,function(i,journal){ $.each(journal.papers,function(j,paper){ li = null; - li = $('
  • '); - li.append('
    '+journal.title+'
    '); + li = $('
  • '); + li.append('
    '+journal.title+'
    '); + var file_list = li.find('.list_t_des'); $.each(paper.files,function(k,file){ var thistitle = file.title; - if(!file.title) - thistitle = "Untitled File"; - var img = $('
    '+thistitle+'
    '); - li.append(img); + if(!thistitle) + thistitle = ""; + thistitle = ( thistitle.length > 8 )? thistitle.substring(0,8)+'...' : thistitle; + if(!file.title){ + thistitle = "Untitled File"; + } + var img = $(''+thistitle+''); + file_list.append(img); }) - li.append('Edit Delete'); + li.append('
    Edit Delete
    '); column.find("ul").append(li); - if(counter%5==0){ + if(counter%3==0){ $("#journal_p div#paper_list div.overview").append(column); column = $('
    '); } @@ -164,7 +173,7 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ // li; $.each(journalData,function(i,journal){ $.each(journal.papers,function(j,paper){ - li = $('
  • '+paper.title+'
    '+paper.keywords+'
    Edit Delete
  • '); + li = $('
  • '+paper.title+'
    '+paper.keywords+'
    Edit Delete
  • '); column.find("ul").append(li); if(counter%5==0){ $("#journal_p div#paper_list div.overview").append(column); @@ -184,7 +193,7 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ // li; $.each(journalData,function(i,journal){ $.each(journal.papers,function(j,paper){ - li = $('
  • '+paper.title+'
    Edit Delete
  • '); + li = $('
  • '+paper.title+'
    Edit Delete
  • '); column.find("ul").append(li); if(counter%5==0){ $("#journal_p div#paper_list div.overview").append(column); @@ -203,7 +212,7 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ // li; $.each(journalData,function(i,journal){ $.each(journal.papers,function(j,paper){ - li = $('
  • '+paper.title+'
    '+paper.abstract+'
    Edit Delete
  • '); + li = $('
  • '+paper.title+'
    '+paper.abstract+'
    Edit Delete
  • '); column.find("ul").append(li); $("#journal_p div#paper_list div.overview").append(column); column = $('
    '); @@ -238,10 +247,9 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ // this.initializeJournalPapers.journal = function(){ // to open add pages in journal papers page var bindHandlers = function(){ // to bind handlers for add page o.simple_drop_down(); - o.tinyscrollbar_ext({ main: '.tinycanvas', - fill: '.s_grid_con' + fill: '.g_col' }) } bindHandlers(); @@ -261,9 +269,9 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ // o.tinyscrollbar_ext({ main: '.tinycanvas', - fill: '.s_grid_con' + fill: '.g_col' }) - $("a.bt-edit").click(function(){ + $("div[container=true]").unbind(".editcoauthor").on("click.editcoauthor", "a.bt-edit", function(){ $.ajax({ url : $(this).attr("href"), type : "get", @@ -276,12 +284,34 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ // }) $(".bt-cancel").click(function(){ $("div[container=true]").html(prev_data); + o.tinyscrollbar_ext({ + main: '.tinycanvas', + fill: '.g_col' + }) }) } }) return false; }) + $("div[container=true]").unbind(".editype").on("click.edittype", "a.bt-edit-type", function(){ + var parent = $(this).parent().parent(); + parent.find('.list_item_function').hide(); + $.ajax({ + url : $(this).attr("href"), + type : "get", + success : function(data){ + var prev_data = parent.find(".form_space").html(); + parent.find(".form_space").html(data); + $(".bt-cancel-type").click(function(){ + parent.find(".form_space").html(prev_data); + parent.find('.list_item_function').show(); + }); + } + }) + return false; + }) $("div[container=true]").unbind(".delete").on("click.delete","a.bt-delete",function(){ + var delurl = $(this).attr("href"); var parent = $(this).parent().parent(); o.confirm({ @@ -316,7 +346,8 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ // fill: '.s_grid_con' }) $(".bt-cancel").click(function(){ - $("div[container=true]").html(prev_data); + o.sub_menu_item($("div[content-type=menu] a[custom-load=coauthor]")); + }) } }) @@ -335,6 +366,10 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ // }) $(".bt-cancel").click(function(){ $("div[container=true]").html(prev_data); + o.tinyscrollbar_ext({ + main: '.tinycanvas', + fill: '.g_col' + }) }) } }) @@ -346,7 +381,15 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ // this.initializeJournalPapers.coauthorRelationForm = function(data){ if(data.success){ o.notify(data.msg,"success"); - $("#co_author_relation_table tbody").prepend(data.newvalue); + $("#co_author_relation_table").html(data.newvalue); + }else{ + o.notify(data.msg,"alert"); + } + } + this.initializeJournalPapers.coauthorRelationEditForm = function(data){ + if(data.success){ + o.notify(data.msg,"success"); + $("#co_author_relation_table").html(data.newvalue); }else{ o.notify(data.msg,"alert"); } diff --git a/app/assets/javascripts/jquery.cycle.js b/app/assets/javascripts/jquery.cycle.js new file mode 100644 index 00000000..21f11cad --- /dev/null +++ b/app/assets/javascripts/jquery.cycle.js @@ -0,0 +1,1552 @@ +/*! + * jQuery Cycle Plugin (with Transition Definitions) + * Examples and documentation at: http://jquery.malsup.com/cycle/ + * Copyright (c) 2007-2010 M. Alsup + * Version: 2.9999.8 (26-OCT-2012) + * Dual licensed under the MIT and GPL licenses. + * http://jquery.malsup.com/license.html + * Requires: jQuery v1.3.2 or later + */ + +;(function($, undefined) { +"use strict"; + +var ver = '2.9999.8'; + +// if $.support is not defined (pre jQuery 1.3) add what I need +if ($.support === undefined) { + $.support = { + opacity: !($.browser.msie) + }; +} + +function debug(s) { + if ($.fn.cycle.debug) + log(s); +} +function log() { + if (window.console && console.log) + console.log('[cycle] ' + Array.prototype.join.call(arguments,' ')); +} +$.expr[':'].paused = function(el) { + return el.cyclePause; +}; + + +// the options arg can be... +// a number - indicates an immediate transition should occur to the given slide index +// a string - 'pause', 'resume', 'toggle', 'next', 'prev', 'stop', 'destroy' or the name of a transition effect (ie, 'fade', 'zoom', etc) +// an object - properties to control the slideshow +// +// the arg2 arg can be... +// the name of an fx (only used in conjunction with a numeric value for 'options') +// the value true (only used in first arg == 'resume') and indicates +// that the resume should occur immediately (not wait for next timeout) + +$.fn.cycle = function(options, arg2) { + var o = { s: this.selector, c: this.context }; + + // in 1.3+ we can fix mistakes with the ready state + if (this.length === 0 && options != 'stop') { + if (!$.isReady && o.s) { + log('DOM not ready, queuing slideshow'); + $(function() { + $(o.s,o.c).cycle(options,arg2); + }); + return this; + } + // is your DOM ready? http://docs.jquery.com/Tutorials:Introducing_$(document).ready() + log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)')); + return this; + } + + // iterate the matched nodeset + return this.each(function() { + var opts = handleArguments(this, options, arg2); + if (opts === false) + return; + + opts.updateActivePagerLink = opts.updateActivePagerLink || $.fn.cycle.updateActivePagerLink; + + // stop existing slideshow for this container (if there is one) + if (this.cycleTimeout) + clearTimeout(this.cycleTimeout); + this.cycleTimeout = this.cyclePause = 0; + this.cycleStop = 0; // issue #108 + + var $cont = $(this); + var $slides = opts.slideExpr ? $(opts.slideExpr, this) : $cont.children(); + var els = $slides.get(); + + if (els.length < 2) { + log('terminating; too few slides: ' + els.length); + return; + } + + var opts2 = buildOptions($cont, $slides, els, opts, o); + if (opts2 === false) + return; + + var startTime = opts2.continuous ? 10 : getTimeout(els[opts2.currSlide], els[opts2.nextSlide], opts2, !opts2.backwards); + + // if it's an auto slideshow, kick it off + if (startTime) { + startTime += (opts2.delay || 0); + if (startTime < 10) + startTime = 10; + debug('first timeout: ' + startTime); + this.cycleTimeout = setTimeout(function(){go(els,opts2,0,!opts.backwards);}, startTime); + } + }); +}; + +function triggerPause(cont, byHover, onPager) { + var opts = $(cont).data('cycle.opts'); + if (!opts) + return; + var paused = !!cont.cyclePause; + if (paused && opts.paused) + opts.paused(cont, opts, byHover, onPager); + else if (!paused && opts.resumed) + opts.resumed(cont, opts, byHover, onPager); +} + +// process the args that were passed to the plugin fn +function handleArguments(cont, options, arg2) { + if (cont.cycleStop === undefined) + cont.cycleStop = 0; + if (options === undefined || options === null) + options = {}; + if (options.constructor == String) { + switch(options) { + case 'destroy': + case 'stop': + var opts = $(cont).data('cycle.opts'); + if (!opts) + return false; + cont.cycleStop++; // callbacks look for change + if (cont.cycleTimeout) + clearTimeout(cont.cycleTimeout); + cont.cycleTimeout = 0; + if (opts.elements) + $(opts.elements).stop(); + $(cont).removeData('cycle.opts'); + if (options == 'destroy') + destroy(cont, opts); + return false; + case 'toggle': + cont.cyclePause = (cont.cyclePause === 1) ? 0 : 1; + checkInstantResume(cont.cyclePause, arg2, cont); + triggerPause(cont); + return false; + case 'pause': + cont.cyclePause = 1; + triggerPause(cont); + return false; + case 'resume': + cont.cyclePause = 0; + checkInstantResume(false, arg2, cont); + triggerPause(cont); + return false; + case 'prev': + case 'next': + opts = $(cont).data('cycle.opts'); + if (!opts) { + log('options not found, "prev/next" ignored'); + return false; + } + $.fn.cycle[options](opts); + return false; + default: + options = { fx: options }; + } + return options; + } + else if (options.constructor == Number) { + // go to the requested slide + var num = options; + options = $(cont).data('cycle.opts'); + if (!options) { + log('options not found, can not advance slide'); + return false; + } + if (num < 0 || num >= options.elements.length) { + log('invalid slide index: ' + num); + return false; + } + options.nextSlide = num; + if (cont.cycleTimeout) { + clearTimeout(cont.cycleTimeout); + cont.cycleTimeout = 0; + } + if (typeof arg2 == 'string') + options.oneTimeFx = arg2; + go(options.elements, options, 1, num >= options.currSlide); + return false; + } + return options; + + function checkInstantResume(isPaused, arg2, cont) { + if (!isPaused && arg2 === true) { // resume now! + var options = $(cont).data('cycle.opts'); + if (!options) { + log('options not found, can not resume'); + return false; + } + if (cont.cycleTimeout) { + clearTimeout(cont.cycleTimeout); + cont.cycleTimeout = 0; + } + go(options.elements, options, 1, !options.backwards); + } + } +} + +function removeFilter(el, opts) { + if (!$.support.opacity && opts.cleartype && el.style.filter) { + try { el.style.removeAttribute('filter'); } + catch(smother) {} // handle old opera versions + } +} + +// unbind event handlers +function destroy(cont, opts) { + if (opts.next) + $(opts.next).unbind(opts.prevNextEvent); + if (opts.prev) + $(opts.prev).unbind(opts.prevNextEvent); + + if (opts.pager || opts.pagerAnchorBuilder) + $.each(opts.pagerAnchors || [], function() { + this.unbind().remove(); + }); + opts.pagerAnchors = null; + $(cont).unbind('mouseenter.cycle mouseleave.cycle'); + if (opts.destroy) // callback + opts.destroy(opts); +} + +// one-time initialization +function buildOptions($cont, $slides, els, options, o) { + var startingSlideSpecified; + // support metadata plugin (v1.0 and v2.0) + var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {}); + var meta = $.isFunction($cont.data) ? $cont.data(opts.metaAttr) : null; + if (meta) + opts = $.extend(opts, meta); + if (opts.autostop) + opts.countdown = opts.autostopCount || els.length; + + var cont = $cont[0]; + $cont.data('cycle.opts', opts); + opts.$cont = $cont; + opts.stopCount = cont.cycleStop; + opts.elements = els; + opts.before = opts.before ? [opts.before] : []; + opts.after = opts.after ? [opts.after] : []; + + // push some after callbacks + if (!$.support.opacity && opts.cleartype) + opts.after.push(function() { removeFilter(this, opts); }); + if (opts.continuous) + opts.after.push(function() { go(els,opts,0,!opts.backwards); }); + + saveOriginalOpts(opts); + + // clearType corrections + if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg) + clearTypeFix($slides); + + // container requires non-static position so that slides can be position within + if ($cont.css('position') == 'static') + $cont.css('position', 'relative'); + if (opts.width) + $cont.width(opts.width); + if (opts.height && opts.height != 'auto') + $cont.height(opts.height); + + if (opts.startingSlide !== undefined) { + opts.startingSlide = parseInt(opts.startingSlide,10); + if (opts.startingSlide >= els.length || opts.startSlide < 0) + opts.startingSlide = 0; // catch bogus input + else + startingSlideSpecified = true; + } + else if (opts.backwards) + opts.startingSlide = els.length - 1; + else + opts.startingSlide = 0; + + // if random, mix up the slide array + if (opts.random) { + opts.randomMap = []; + for (var i = 0; i < els.length; i++) + opts.randomMap.push(i); + opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;}); + if (startingSlideSpecified) { + // try to find the specified starting slide and if found set start slide index in the map accordingly + for ( var cnt = 0; cnt < els.length; cnt++ ) { + if ( opts.startingSlide == opts.randomMap[cnt] ) { + opts.randomIndex = cnt; + } + } + } + else { + opts.randomIndex = 1; + opts.startingSlide = opts.randomMap[1]; + } + } + else if (opts.startingSlide >= els.length) + opts.startingSlide = 0; // catch bogus input + opts.currSlide = opts.startingSlide || 0; + var first = opts.startingSlide; + + // set position and zIndex on all the slides + $slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) { + var z; + if (opts.backwards) + z = first ? i <= first ? els.length + (i-first) : first-i : els.length-i; + else + z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i; + $(this).css('z-index', z); + }); + + // make sure first slide is visible + $(els[first]).css('opacity',1).show(); // opacity bit needed to handle restart use case + removeFilter(els[first], opts); + + // stretch slides + if (opts.fit) { + if (!opts.aspect) { + if (opts.width) + $slides.width(opts.width); + if (opts.height && opts.height != 'auto') + $slides.height(opts.height); + } else { + $slides.each(function(){ + var $slide = $(this); + var ratio = (opts.aspect === true) ? $slide.width()/$slide.height() : opts.aspect; + if( opts.width && $slide.width() != opts.width ) { + $slide.width( opts.width ); + $slide.height( opts.width / ratio ); + } + + if( opts.height && $slide.height() < opts.height ) { + $slide.height( opts.height ); + $slide.width( opts.height * ratio ); + } + }); + } + } + + if (opts.center && ((!opts.fit) || opts.aspect)) { + $slides.each(function(){ + var $slide = $(this); + $slide.css({ + "margin-left": opts.width ? + ((opts.width - $slide.width()) / 2) + "px" : + 0, + "margin-top": opts.height ? + ((opts.height - $slide.height()) / 2) + "px" : + 0 + }); + }); + } + + if (opts.center && !opts.fit && !opts.slideResize) { + $slides.each(function(){ + var $slide = $(this); + $slide.css({ + "margin-left": opts.width ? ((opts.width - $slide.width()) / 2) + "px" : 0, + "margin-top": opts.height ? ((opts.height - $slide.height()) / 2) + "px" : 0 + }); + }); + } + + // stretch container + var reshape = (opts.containerResize || opts.containerResizeHeight) && !$cont.innerHeight(); + if (reshape) { // do this only if container has no size http://tinyurl.com/da2oa9 + var maxw = 0, maxh = 0; + for(var j=0; j < els.length; j++) { + var $e = $(els[j]), e = $e[0], w = $e.outerWidth(), h = $e.outerHeight(); + if (!w) w = e.offsetWidth || e.width || $e.attr('width'); + if (!h) h = e.offsetHeight || e.height || $e.attr('height'); + maxw = w > maxw ? w : maxw; + maxh = h > maxh ? h : maxh; + } + if (opts.containerResize && maxw > 0 && maxh > 0) + $cont.css({width:maxw+'px',height:maxh+'px'}); + if (opts.containerResizeHeight && maxh > 0) + $cont.css({height:maxh+'px'}); + } + + var pauseFlag = false; // https://github.com/malsup/cycle/issues/44 + if (opts.pause) + $cont.bind('mouseenter.cycle', function(){ + pauseFlag = true; + this.cyclePause++; + triggerPause(cont, true); + }).bind('mouseleave.cycle', function(){ + if (pauseFlag) + this.cyclePause--; + triggerPause(cont, true); + }); + + if (supportMultiTransitions(opts) === false) + return false; + + // apparently a lot of people use image slideshows without height/width attributes on the images. + // Cycle 2.50+ requires the sizing info for every slide; this block tries to deal with that. + var requeue = false; + options.requeueAttempts = options.requeueAttempts || 0; + $slides.each(function() { + // try to get height/width of each slide + var $el = $(this); + this.cycleH = (opts.fit && opts.height) ? opts.height : ($el.height() || this.offsetHeight || this.height || $el.attr('height') || 0); + this.cycleW = (opts.fit && opts.width) ? opts.width : ($el.width() || this.offsetWidth || this.width || $el.attr('width') || 0); + + if ( $el.is('img') ) { + // sigh.. sniffing, hacking, shrugging... this crappy hack tries to account for what browsers do when + // an image is being downloaded and the markup did not include sizing info (height/width attributes); + // there seems to be some "default" sizes used in this situation + var loadingIE = ($.browser.msie && this.cycleW == 28 && this.cycleH == 30 && !this.complete); + var loadingFF = ($.browser.mozilla && this.cycleW == 34 && this.cycleH == 19 && !this.complete); + var loadingOp = ($.browser.opera && ((this.cycleW == 42 && this.cycleH == 19) || (this.cycleW == 37 && this.cycleH == 17)) && !this.complete); + var loadingOther = (this.cycleH === 0 && this.cycleW === 0 && !this.complete); + // don't requeue for images that are still loading but have a valid size + if (loadingIE || loadingFF || loadingOp || loadingOther) { + if (o.s && opts.requeueOnImageNotLoaded && ++options.requeueAttempts < 100) { // track retry count so we don't loop forever + log(options.requeueAttempts,' - img slide not loaded, requeuing slideshow: ', this.src, this.cycleW, this.cycleH); + setTimeout(function() {$(o.s,o.c).cycle(options);}, opts.requeueTimeout); + requeue = true; + return false; // break each loop + } + else { + log('could not determine size of image: '+this.src, this.cycleW, this.cycleH); + } + } + } + return true; + }); + + if (requeue) + return false; + + opts.cssBefore = opts.cssBefore || {}; + opts.cssAfter = opts.cssAfter || {}; + opts.cssFirst = opts.cssFirst || {}; + opts.animIn = opts.animIn || {}; + opts.animOut = opts.animOut || {}; + + $slides.not(':eq('+first+')').css(opts.cssBefore); + $($slides[first]).css(opts.cssFirst); + + if (opts.timeout) { + opts.timeout = parseInt(opts.timeout,10); + // ensure that timeout and speed settings are sane + if (opts.speed.constructor == String) + opts.speed = $.fx.speeds[opts.speed] || parseInt(opts.speed,10); + if (!opts.sync) + opts.speed = opts.speed / 2; + + var buffer = opts.fx == 'none' ? 0 : opts.fx == 'shuffle' ? 500 : 250; + while((opts.timeout - opts.speed) < buffer) // sanitize timeout + opts.timeout += opts.speed; + } + if (opts.easing) + opts.easeIn = opts.easeOut = opts.easing; + if (!opts.speedIn) + opts.speedIn = opts.speed; + if (!opts.speedOut) + opts.speedOut = opts.speed; + + opts.slideCount = els.length; + opts.currSlide = opts.lastSlide = first; + if (opts.random) { + if (++opts.randomIndex == els.length) + opts.randomIndex = 0; + opts.nextSlide = opts.randomMap[opts.randomIndex]; + } + else if (opts.backwards) + opts.nextSlide = opts.startingSlide === 0 ? (els.length-1) : opts.startingSlide-1; + else + opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+1; + + // run transition init fn + if (!opts.multiFx) { + var init = $.fn.cycle.transitions[opts.fx]; + if ($.isFunction(init)) + init($cont, $slides, opts); + else if (opts.fx != 'custom' && !opts.multiFx) { + log('unknown transition: ' + opts.fx,'; slideshow terminating'); + return false; + } + } + + // fire artificial events + var e0 = $slides[first]; + if (!opts.skipInitializationCallbacks) { + if (opts.before.length) + opts.before[0].apply(e0, [e0, e0, opts, true]); + if (opts.after.length) + opts.after[0].apply(e0, [e0, e0, opts, true]); + } + if (opts.next) + $(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,1);}); + if (opts.prev) + $(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,0);}); + if (opts.pager || opts.pagerAnchorBuilder) + buildPager(els,opts); + + exposeAddSlide(opts, els); + + return opts; +} + +// save off original opts so we can restore after clearing state +function saveOriginalOpts(opts) { + opts.original = { before: [], after: [] }; + opts.original.cssBefore = $.extend({}, opts.cssBefore); + opts.original.cssAfter = $.extend({}, opts.cssAfter); + opts.original.animIn = $.extend({}, opts.animIn); + opts.original.animOut = $.extend({}, opts.animOut); + $.each(opts.before, function() { opts.original.before.push(this); }); + $.each(opts.after, function() { opts.original.after.push(this); }); +} + +function supportMultiTransitions(opts) { + var i, tx, txs = $.fn.cycle.transitions; + // look for multiple effects + if (opts.fx.indexOf(',') > 0) { + opts.multiFx = true; + opts.fxs = opts.fx.replace(/\s*/g,'').split(','); + // discard any bogus effect names + for (i=0; i < opts.fxs.length; i++) { + var fx = opts.fxs[i]; + tx = txs[fx]; + if (!tx || !txs.hasOwnProperty(fx) || !$.isFunction(tx)) { + log('discarding unknown transition: ',fx); + opts.fxs.splice(i,1); + i--; + } + } + // if we have an empty list then we threw everything away! + if (!opts.fxs.length) { + log('No valid transitions named; slideshow terminating.'); + return false; + } + } + else if (opts.fx == 'all') { // auto-gen the list of transitions + opts.multiFx = true; + opts.fxs = []; + for (var p in txs) { + if (txs.hasOwnProperty(p)) { + tx = txs[p]; + if (txs.hasOwnProperty(p) && $.isFunction(tx)) + opts.fxs.push(p); + } + } + } + if (opts.multiFx && opts.randomizeEffects) { + // munge the fxs array to make effect selection random + var r1 = Math.floor(Math.random() * 20) + 30; + for (i = 0; i < r1; i++) { + var r2 = Math.floor(Math.random() * opts.fxs.length); + opts.fxs.push(opts.fxs.splice(r2,1)[0]); + } + debug('randomized fx sequence: ',opts.fxs); + } + return true; +} + +// provide a mechanism for adding slides after the slideshow has started +function exposeAddSlide(opts, els) { + opts.addSlide = function(newSlide, prepend) { + var $s = $(newSlide), s = $s[0]; + if (!opts.autostopCount) + opts.countdown++; + els[prepend?'unshift':'push'](s); + if (opts.els) + opts.els[prepend?'unshift':'push'](s); // shuffle needs this + opts.slideCount = els.length; + + // add the slide to the random map and resort + if (opts.random) { + opts.randomMap.push(opts.slideCount-1); + opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;}); + } + + $s.css('position','absolute'); + $s[prepend?'prependTo':'appendTo'](opts.$cont); + + if (prepend) { + opts.currSlide++; + opts.nextSlide++; + } + + if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg) + clearTypeFix($s); + + if (opts.fit && opts.width) + $s.width(opts.width); + if (opts.fit && opts.height && opts.height != 'auto') + $s.height(opts.height); + s.cycleH = (opts.fit && opts.height) ? opts.height : $s.height(); + s.cycleW = (opts.fit && opts.width) ? opts.width : $s.width(); + + $s.css(opts.cssBefore); + + if (opts.pager || opts.pagerAnchorBuilder) + $.fn.cycle.createPagerAnchor(els.length-1, s, $(opts.pager), els, opts); + + if ($.isFunction(opts.onAddSlide)) + opts.onAddSlide($s); + else + $s.hide(); // default behavior + }; +} + +// reset internal state; we do this on every pass in order to support multiple effects +$.fn.cycle.resetState = function(opts, fx) { + fx = fx || opts.fx; + opts.before = []; opts.after = []; + opts.cssBefore = $.extend({}, opts.original.cssBefore); + opts.cssAfter = $.extend({}, opts.original.cssAfter); + opts.animIn = $.extend({}, opts.original.animIn); + opts.animOut = $.extend({}, opts.original.animOut); + opts.fxFn = null; + $.each(opts.original.before, function() { opts.before.push(this); }); + $.each(opts.original.after, function() { opts.after.push(this); }); + + // re-init + var init = $.fn.cycle.transitions[fx]; + if ($.isFunction(init)) + init(opts.$cont, $(opts.elements), opts); +}; + +// this is the main engine fn, it handles the timeouts, callbacks and slide index mgmt +function go(els, opts, manual, fwd) { + var p = opts.$cont[0], curr = els[opts.currSlide], next = els[opts.nextSlide]; + + // opts.busy is true if we're in the middle of an animation + if (manual && opts.busy && opts.manualTrump) { + // let manual transitions requests trump active ones + debug('manualTrump in go(), stopping active transition'); + $(els).stop(true,true); + opts.busy = 0; + clearTimeout(p.cycleTimeout); + } + + // don't begin another timeout-based transition if there is one active + if (opts.busy) { + debug('transition active, ignoring new tx request'); + return; + } + + + // stop cycling if we have an outstanding stop request + if (p.cycleStop != opts.stopCount || p.cycleTimeout === 0 && !manual) + return; + + // check to see if we should stop cycling based on autostop options + if (!manual && !p.cyclePause && !opts.bounce && + ((opts.autostop && (--opts.countdown <= 0)) || + (opts.nowrap && !opts.random && opts.nextSlide < opts.currSlide))) { + if (opts.end) + opts.end(opts); + return; + } + + // if slideshow is paused, only transition on a manual trigger + var changed = false; + if ((manual || !p.cyclePause) && (opts.nextSlide != opts.currSlide)) { + changed = true; + var fx = opts.fx; + // keep trying to get the slide size if we don't have it yet + curr.cycleH = curr.cycleH || $(curr).height(); + curr.cycleW = curr.cycleW || $(curr).width(); + next.cycleH = next.cycleH || $(next).height(); + next.cycleW = next.cycleW || $(next).width(); + + // support multiple transition types + if (opts.multiFx) { + if (fwd && (opts.lastFx === undefined || ++opts.lastFx >= opts.fxs.length)) + opts.lastFx = 0; + else if (!fwd && (opts.lastFx === undefined || --opts.lastFx < 0)) + opts.lastFx = opts.fxs.length - 1; + fx = opts.fxs[opts.lastFx]; + } + + // one-time fx overrides apply to: $('div').cycle(3,'zoom'); + if (opts.oneTimeFx) { + fx = opts.oneTimeFx; + opts.oneTimeFx = null; + } + + $.fn.cycle.resetState(opts, fx); + + // run the before callbacks + if (opts.before.length) + $.each(opts.before, function(i,o) { + if (p.cycleStop != opts.stopCount) return; + o.apply(next, [curr, next, opts, fwd]); + }); + + // stage the after callacks + var after = function() { + opts.busy = 0; + $.each(opts.after, function(i,o) { + if (p.cycleStop != opts.stopCount) return; + o.apply(next, [curr, next, opts, fwd]); + }); + if (!p.cycleStop) { + // queue next transition + queueNext(); + } + }; + + debug('tx firing('+fx+'); currSlide: ' + opts.currSlide + '; nextSlide: ' + opts.nextSlide); + + // get ready to perform the transition + opts.busy = 1; + if (opts.fxFn) // fx function provided? + opts.fxFn(curr, next, opts, after, fwd, manual && opts.fastOnEvent); + else if ($.isFunction($.fn.cycle[opts.fx])) // fx plugin ? + $.fn.cycle[opts.fx](curr, next, opts, after, fwd, manual && opts.fastOnEvent); + else + $.fn.cycle.custom(curr, next, opts, after, fwd, manual && opts.fastOnEvent); + } + else { + queueNext(); + } + + if (changed || opts.nextSlide == opts.currSlide) { + // calculate the next slide + var roll; + opts.lastSlide = opts.currSlide; + if (opts.random) { + opts.currSlide = opts.nextSlide; + if (++opts.randomIndex == els.length) { + opts.randomIndex = 0; + opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;}); + } + opts.nextSlide = opts.randomMap[opts.randomIndex]; + if (opts.nextSlide == opts.currSlide) + opts.nextSlide = (opts.currSlide == opts.slideCount - 1) ? 0 : opts.currSlide + 1; + } + else if (opts.backwards) { + roll = (opts.nextSlide - 1) < 0; + if (roll && opts.bounce) { + opts.backwards = !opts.backwards; + opts.nextSlide = 1; + opts.currSlide = 0; + } + else { + opts.nextSlide = roll ? (els.length-1) : opts.nextSlide-1; + opts.currSlide = roll ? 0 : opts.nextSlide+1; + } + } + else { // sequence + roll = (opts.nextSlide + 1) == els.length; + if (roll && opts.bounce) { + opts.backwards = !opts.backwards; + opts.nextSlide = els.length-2; + opts.currSlide = els.length-1; + } + else { + opts.nextSlide = roll ? 0 : opts.nextSlide+1; + opts.currSlide = roll ? els.length-1 : opts.nextSlide-1; + } + } + } + if (changed && opts.pager) + opts.updateActivePagerLink(opts.pager, opts.currSlide, opts.activePagerClass); + + function queueNext() { + // stage the next transition + var ms = 0, timeout = opts.timeout; + if (opts.timeout && !opts.continuous) { + ms = getTimeout(els[opts.currSlide], els[opts.nextSlide], opts, fwd); + if (opts.fx == 'shuffle') + ms -= opts.speedOut; + } + else if (opts.continuous && p.cyclePause) // continuous shows work off an after callback, not this timer logic + ms = 10; + if (ms > 0) + p.cycleTimeout = setTimeout(function(){ go(els, opts, 0, !opts.backwards); }, ms); + } +} + +// invoked after transition +$.fn.cycle.updateActivePagerLink = function(pager, currSlide, clsName) { + $(pager).each(function() { + $(this).children().removeClass(clsName).eq(currSlide).addClass(clsName); + }); +}; + +// calculate timeout value for current transition +function getTimeout(curr, next, opts, fwd) { + if (opts.timeoutFn) { + // call user provided calc fn + var t = opts.timeoutFn.call(curr,curr,next,opts,fwd); + while (opts.fx != 'none' && (t - opts.speed) < 250) // sanitize timeout + t += opts.speed; + debug('calculated timeout: ' + t + '; speed: ' + opts.speed); + if (t !== false) + return t; + } + return opts.timeout; +} + +// expose next/prev function, caller must pass in state +$.fn.cycle.next = function(opts) { advance(opts,1); }; +$.fn.cycle.prev = function(opts) { advance(opts,0);}; + +// advance slide forward or back +function advance(opts, moveForward) { + var val = moveForward ? 1 : -1; + var els = opts.elements; + var p = opts.$cont[0], timeout = p.cycleTimeout; + if (timeout) { + clearTimeout(timeout); + p.cycleTimeout = 0; + } + if (opts.random && val < 0) { + // move back to the previously display slide + opts.randomIndex--; + if (--opts.randomIndex == -2) + opts.randomIndex = els.length-2; + else if (opts.randomIndex == -1) + opts.randomIndex = els.length-1; + opts.nextSlide = opts.randomMap[opts.randomIndex]; + } + else if (opts.random) { + opts.nextSlide = opts.randomMap[opts.randomIndex]; + } + else { + opts.nextSlide = opts.currSlide + val; + if (opts.nextSlide < 0) { + if (opts.nowrap) return false; + opts.nextSlide = els.length - 1; + } + else if (opts.nextSlide >= els.length) { + if (opts.nowrap) return false; + opts.nextSlide = 0; + } + } + + var cb = opts.onPrevNextEvent || opts.prevNextClick; // prevNextClick is deprecated + if ($.isFunction(cb)) + cb(val > 0, opts.nextSlide, els[opts.nextSlide]); + go(els, opts, 1, moveForward); + return false; +} + +function buildPager(els, opts) { + var $p = $(opts.pager); + $.each(els, function(i,o) { + $.fn.cycle.createPagerAnchor(i,o,$p,els,opts); + }); + opts.updateActivePagerLink(opts.pager, opts.startingSlide, opts.activePagerClass); +} + +$.fn.cycle.createPagerAnchor = function(i, el, $p, els, opts) { + var a; + if ($.isFunction(opts.pagerAnchorBuilder)) { + a = opts.pagerAnchorBuilder(i,el); + debug('pagerAnchorBuilder('+i+', el) returned: ' + a); + } + else + a = ''+(i+1)+''; + + if (!a) + return; + var $a = $(a); + // don't reparent if anchor is in the dom + if ($a.parents('body').length === 0) { + var arr = []; + if ($p.length > 1) { + $p.each(function() { + var $clone = $a.clone(true); + $(this).append($clone); + arr.push($clone[0]); + }); + $a = $(arr); + } + else { + $a.appendTo($p); + } + } + + opts.pagerAnchors = opts.pagerAnchors || []; + opts.pagerAnchors.push($a); + + var pagerFn = function(e) { + e.preventDefault(); + opts.nextSlide = i; + var p = opts.$cont[0], timeout = p.cycleTimeout; + if (timeout) { + clearTimeout(timeout); + p.cycleTimeout = 0; + } + var cb = opts.onPagerEvent || opts.pagerClick; // pagerClick is deprecated + if ($.isFunction(cb)) + cb(opts.nextSlide, els[opts.nextSlide]); + go(els,opts,1,opts.currSlide < i); // trigger the trans +// return false; // <== allow bubble + }; + + if ( /mouseenter|mouseover/i.test(opts.pagerEvent) ) { + $a.hover(pagerFn, function(){/* no-op */} ); + } + else { + $a.bind(opts.pagerEvent, pagerFn); + } + + if ( ! /^click/.test(opts.pagerEvent) && !opts.allowPagerClickBubble) + $a.bind('click.cycle', function(){return false;}); // suppress click + + var cont = opts.$cont[0]; + var pauseFlag = false; // https://github.com/malsup/cycle/issues/44 + if (opts.pauseOnPagerHover) { + $a.hover( + function() { + pauseFlag = true; + cont.cyclePause++; + triggerPause(cont,true,true); + }, function() { + if (pauseFlag) + cont.cyclePause--; + triggerPause(cont,true,true); + } + ); + } +}; + +// helper fn to calculate the number of slides between the current and the next +$.fn.cycle.hopsFromLast = function(opts, fwd) { + var hops, l = opts.lastSlide, c = opts.currSlide; + if (fwd) + hops = c > l ? c - l : opts.slideCount - l; + else + hops = c < l ? l - c : l + opts.slideCount - c; + return hops; +}; + +// fix clearType problems in ie6 by setting an explicit bg color +// (otherwise text slides look horrible during a fade transition) +function clearTypeFix($slides) { + debug('applying clearType background-color hack'); + function hex(s) { + s = parseInt(s,10).toString(16); + return s.length < 2 ? '0'+s : s; + } + function getBg(e) { + for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) { + var v = $.css(e,'background-color'); + if (v && v.indexOf('rgb') >= 0 ) { + var rgb = v.match(/\d+/g); + return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]); + } + if (v && v != 'transparent') + return v; + } + return '#ffffff'; + } + $slides.each(function() { $(this).css('background-color', getBg(this)); }); +} + +// reset common props before the next transition +$.fn.cycle.commonReset = function(curr,next,opts,w,h,rev) { + $(opts.elements).not(curr).hide(); + if (typeof opts.cssBefore.opacity == 'undefined') + opts.cssBefore.opacity = 1; + opts.cssBefore.display = 'block'; + if (opts.slideResize && w !== false && next.cycleW > 0) + opts.cssBefore.width = next.cycleW; + if (opts.slideResize && h !== false && next.cycleH > 0) + opts.cssBefore.height = next.cycleH; + opts.cssAfter = opts.cssAfter || {}; + opts.cssAfter.display = 'none'; + $(curr).css('zIndex',opts.slideCount + (rev === true ? 1 : 0)); + $(next).css('zIndex',opts.slideCount + (rev === true ? 0 : 1)); +}; + +// the actual fn for effecting a transition +$.fn.cycle.custom = function(curr, next, opts, cb, fwd, speedOverride) { + var $l = $(curr), $n = $(next); + var speedIn = opts.speedIn, speedOut = opts.speedOut, easeIn = opts.easeIn, easeOut = opts.easeOut; + $n.css(opts.cssBefore); + if (speedOverride) { + if (typeof speedOverride == 'number') + speedIn = speedOut = speedOverride; + else + speedIn = speedOut = 1; + easeIn = easeOut = null; + } + var fn = function() { + $n.animate(opts.animIn, speedIn, easeIn, function() { + cb(); + }); + }; + $l.animate(opts.animOut, speedOut, easeOut, function() { + $l.css(opts.cssAfter); + if (!opts.sync) + fn(); + }); + if (opts.sync) fn(); +}; + +// transition definitions - only fade is defined here, transition pack defines the rest +$.fn.cycle.transitions = { + fade: function($cont, $slides, opts) { + $slides.not(':eq('+opts.currSlide+')').css('opacity',0); + opts.before.push(function(curr,next,opts) { + $.fn.cycle.commonReset(curr,next,opts); + opts.cssBefore.opacity = 0; + }); + opts.animIn = { opacity: 1 }; + opts.animOut = { opacity: 0 }; + opts.cssBefore = { top: 0, left: 0 }; + } +}; + +$.fn.cycle.ver = function() { return ver; }; + +// override these globally if you like (they are all optional) +$.fn.cycle.defaults = { + activePagerClass: 'activeSlide', // class name used for the active pager link + after: null, // transition callback (scope set to element that was shown): function(currSlideElement, nextSlideElement, options, forwardFlag) + allowPagerClickBubble: false, // allows or prevents click event on pager anchors from bubbling + animIn: null, // properties that define how the slide animates in + animOut: null, // properties that define how the slide animates out + aspect: false, // preserve aspect ratio during fit resizing, cropping if necessary (must be used with fit option) + autostop: 0, // true to end slideshow after X transitions (where X == slide count) + autostopCount: 0, // number of transitions (optionally used with autostop to define X) + backwards: false, // true to start slideshow at last slide and move backwards through the stack + before: null, // transition callback (scope set to element to be shown): function(currSlideElement, nextSlideElement, options, forwardFlag) + center: null, // set to true to have cycle add top/left margin to each slide (use with width and height options) + cleartype: !$.support.opacity, // true if clearType corrections should be applied (for IE) + cleartypeNoBg: false, // set to true to disable extra cleartype fixing (leave false to force background color setting on slides) + containerResize: 1, // resize container to fit largest slide + containerResizeHeight: 0, // resize containers height to fit the largest slide but leave the width dynamic + continuous: 0, // true to start next transition immediately after current one completes + cssAfter: null, // properties that defined the state of the slide after transitioning out + cssBefore: null, // properties that define the initial state of the slide before transitioning in + delay: 0, // additional delay (in ms) for first transition (hint: can be negative) + easeIn: null, // easing for "in" transition + easeOut: null, // easing for "out" transition + easing: null, // easing method for both in and out transitions + end: null, // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options) + fastOnEvent: 0, // force fast transitions when triggered manually (via pager or prev/next); value == time in ms + fit: 0, // force slides to fit container + fx: 'fade', // name of transition effect (or comma separated names, ex: 'fade,scrollUp,shuffle') + fxFn: null, // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag) + height: 'auto', // container height (if the 'fit' option is true, the slides will be set to this height as well) + manualTrump: true, // causes manual transition to stop an active transition instead of being ignored + metaAttr: 'cycle', // data- attribute that holds the option data for the slideshow + next: null, // element, jQuery object, or jQuery selector string for the element to use as event trigger for next slide + nowrap: 0, // true to prevent slideshow from wrapping + onPagerEvent: null, // callback fn for pager events: function(zeroBasedSlideIndex, slideElement) + onPrevNextEvent: null, // callback fn for prev/next events: function(isNext, zeroBasedSlideIndex, slideElement) + pager: null, // element, jQuery object, or jQuery selector string for the element to use as pager container + pagerAnchorBuilder: null, // callback fn for building anchor links: function(index, DOMelement) + pagerEvent: 'click.cycle', // name of event which drives the pager navigation + pause: 0, // true to enable "pause on hover" + pauseOnPagerHover: 0, // true to pause when hovering over pager link + prev: null, // element, jQuery object, or jQuery selector string for the element to use as event trigger for previous slide + prevNextEvent: 'click.cycle',// event which drives the manual transition to the previous or next slide + random: 0, // true for random, false for sequence (not applicable to shuffle fx) + randomizeEffects: 1, // valid when multiple effects are used; true to make the effect sequence random + requeueOnImageNotLoaded: true, // requeue the slideshow if any image slides are not yet loaded + requeueTimeout: 250, // ms delay for requeue + rev: 0, // causes animations to transition in reverse (for effects that support it such as scrollHorz/scrollVert/shuffle) + shuffle: null, // coords for shuffle animation, ex: { top:15, left: 200 } + skipInitializationCallbacks: false, // set to true to disable the first before/after callback that occurs prior to any transition + slideExpr: null, // expression for selecting slides (if something other than all children is required) + slideResize: 1, // force slide width/height to fixed size before every transition + speed: 1000, // speed of the transition (any valid fx speed value) + speedIn: null, // speed of the 'in' transition + speedOut: null, // speed of the 'out' transition + startingSlide: undefined,// zero-based index of the first slide to be displayed + sync: 1, // true if in/out transitions should occur simultaneously + timeout: 4000, // milliseconds between slide transitions (0 to disable auto advance) + timeoutFn: null, // callback for determining per-slide timeout value: function(currSlideElement, nextSlideElement, options, forwardFlag) + updateActivePagerLink: null,// callback fn invoked to update the active pager link (adds/removes activePagerClass style) + width: null // container width (if the 'fit' option is true, the slides will be set to this width as well) +}; + +})(jQuery); + + +/*! + * jQuery Cycle Plugin Transition Definitions + * This script is a plugin for the jQuery Cycle Plugin + * Examples and documentation at: http://malsup.com/jquery/cycle/ + * Copyright (c) 2007-2010 M. Alsup + * Version: 2.73 + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ +(function($) { +"use strict"; + +// +// These functions define slide initialization and properties for the named +// transitions. To save file size feel free to remove any of these that you +// don't need. +// +$.fn.cycle.transitions.none = function($cont, $slides, opts) { + opts.fxFn = function(curr,next,opts,after){ + $(next).show(); + $(curr).hide(); + after(); + }; +}; + +// not a cross-fade, fadeout only fades out the top slide +$.fn.cycle.transitions.fadeout = function($cont, $slides, opts) { + $slides.not(':eq('+opts.currSlide+')').css({ display: 'block', 'opacity': 1 }); + opts.before.push(function(curr,next,opts,w,h,rev) { + $(curr).css('zIndex',opts.slideCount + (rev !== true ? 1 : 0)); + $(next).css('zIndex',opts.slideCount + (rev !== true ? 0 : 1)); + }); + opts.animIn.opacity = 1; + opts.animOut.opacity = 0; + opts.cssBefore.opacity = 1; + opts.cssBefore.display = 'block'; + opts.cssAfter.zIndex = 0; +}; + +// scrollUp/Down/Left/Right +$.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) { + $cont.css('overflow','hidden'); + opts.before.push($.fn.cycle.commonReset); + var h = $cont.height(); + opts.cssBefore.top = h; + opts.cssBefore.left = 0; + opts.cssFirst.top = 0; + opts.animIn.top = 0; + opts.animOut.top = -h; +}; +$.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) { + $cont.css('overflow','hidden'); + opts.before.push($.fn.cycle.commonReset); + var h = $cont.height(); + opts.cssFirst.top = 0; + opts.cssBefore.top = -h; + opts.cssBefore.left = 0; + opts.animIn.top = 0; + opts.animOut.top = h; +}; +$.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) { + $cont.css('overflow','hidden'); + opts.before.push($.fn.cycle.commonReset); + var w = $cont.width(); + opts.cssFirst.left = 0; + opts.cssBefore.left = w; + opts.cssBefore.top = 0; + opts.animIn.left = 0; + opts.animOut.left = 0-w; +}; +$.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) { + $cont.css('overflow','hidden'); + opts.before.push($.fn.cycle.commonReset); + var w = $cont.width(); + opts.cssFirst.left = 0; + opts.cssBefore.left = -w; + opts.cssBefore.top = 0; + opts.animIn.left = 0; + opts.animOut.left = w; +}; +$.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) { + $cont.css('overflow','hidden').width(); + opts.before.push(function(curr, next, opts, fwd) { + if (opts.rev) + fwd = !fwd; + $.fn.cycle.commonReset(curr,next,opts); + opts.cssBefore.left = fwd ? (next.cycleW-1) : (1-next.cycleW); + opts.animOut.left = fwd ? -curr.cycleW : curr.cycleW; + }); + opts.cssFirst.left = 0; + opts.cssBefore.top = 0; + opts.animIn.left = 0; + opts.animOut.top = 0; +}; +$.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) { + $cont.css('overflow','hidden'); + opts.before.push(function(curr, next, opts, fwd) { + if (opts.rev) + fwd = !fwd; + $.fn.cycle.commonReset(curr,next,opts); + opts.cssBefore.top = fwd ? (1-next.cycleH) : (next.cycleH-1); + opts.animOut.top = fwd ? curr.cycleH : -curr.cycleH; + }); + opts.cssFirst.top = 0; + opts.cssBefore.left = 0; + opts.animIn.top = 0; + opts.animOut.left = 0; +}; + +// slideX/slideY +$.fn.cycle.transitions.slideX = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $(opts.elements).not(curr).hide(); + $.fn.cycle.commonReset(curr,next,opts,false,true); + opts.animIn.width = next.cycleW; + }); + opts.cssBefore.left = 0; + opts.cssBefore.top = 0; + opts.cssBefore.width = 0; + opts.animIn.width = 'show'; + opts.animOut.width = 0; +}; +$.fn.cycle.transitions.slideY = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $(opts.elements).not(curr).hide(); + $.fn.cycle.commonReset(curr,next,opts,true,false); + opts.animIn.height = next.cycleH; + }); + opts.cssBefore.left = 0; + opts.cssBefore.top = 0; + opts.cssBefore.height = 0; + opts.animIn.height = 'show'; + opts.animOut.height = 0; +}; + +// shuffle +$.fn.cycle.transitions.shuffle = function($cont, $slides, opts) { + var i, w = $cont.css('overflow', 'visible').width(); + $slides.css({left: 0, top: 0}); + opts.before.push(function(curr,next,opts) { + $.fn.cycle.commonReset(curr,next,opts,true,true,true); + }); + // only adjust speed once! + if (!opts.speedAdjusted) { + opts.speed = opts.speed / 2; // shuffle has 2 transitions + opts.speedAdjusted = true; + } + opts.random = 0; + opts.shuffle = opts.shuffle || {left:-w, top:15}; + opts.els = []; + for (i=0; i < $slides.length; i++) + opts.els.push($slides[i]); + + for (i=0; i < opts.currSlide; i++) + opts.els.push(opts.els.shift()); + + // custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!) + opts.fxFn = function(curr, next, opts, cb, fwd) { + if (opts.rev) + fwd = !fwd; + var $el = fwd ? $(curr) : $(next); + $(next).css(opts.cssBefore); + var count = opts.slideCount; + $el.animate(opts.shuffle, opts.speedIn, opts.easeIn, function() { + var hops = $.fn.cycle.hopsFromLast(opts, fwd); + for (var k=0; k < hops; k++) { + if (fwd) + opts.els.push(opts.els.shift()); + else + opts.els.unshift(opts.els.pop()); + } + if (fwd) { + for (var i=0, len=opts.els.length; i < len; i++) + $(opts.els[i]).css('z-index', len-i+count); + } + else { + var z = $(curr).css('z-index'); + $el.css('z-index', parseInt(z,10)+1+count); + } + $el.animate({left:0, top:0}, opts.speedOut, opts.easeOut, function() { + $(fwd ? this : curr).hide(); + if (cb) cb(); + }); + }); + }; + $.extend(opts.cssBefore, { display: 'block', opacity: 1, top: 0, left: 0 }); +}; + +// turnUp/Down/Left/Right +$.fn.cycle.transitions.turnUp = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,true,false); + opts.cssBefore.top = next.cycleH; + opts.animIn.height = next.cycleH; + opts.animOut.width = next.cycleW; + }); + opts.cssFirst.top = 0; + opts.cssBefore.left = 0; + opts.cssBefore.height = 0; + opts.animIn.top = 0; + opts.animOut.height = 0; +}; +$.fn.cycle.transitions.turnDown = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,true,false); + opts.animIn.height = next.cycleH; + opts.animOut.top = curr.cycleH; + }); + opts.cssFirst.top = 0; + opts.cssBefore.left = 0; + opts.cssBefore.top = 0; + opts.cssBefore.height = 0; + opts.animOut.height = 0; +}; +$.fn.cycle.transitions.turnLeft = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,false,true); + opts.cssBefore.left = next.cycleW; + opts.animIn.width = next.cycleW; + }); + opts.cssBefore.top = 0; + opts.cssBefore.width = 0; + opts.animIn.left = 0; + opts.animOut.width = 0; +}; +$.fn.cycle.transitions.turnRight = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,false,true); + opts.animIn.width = next.cycleW; + opts.animOut.left = curr.cycleW; + }); + $.extend(opts.cssBefore, { top: 0, left: 0, width: 0 }); + opts.animIn.left = 0; + opts.animOut.width = 0; +}; + +// zoom +$.fn.cycle.transitions.zoom = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,false,false,true); + opts.cssBefore.top = next.cycleH/2; + opts.cssBefore.left = next.cycleW/2; + $.extend(opts.animIn, { top: 0, left: 0, width: next.cycleW, height: next.cycleH }); + $.extend(opts.animOut, { width: 0, height: 0, top: curr.cycleH/2, left: curr.cycleW/2 }); + }); + opts.cssFirst.top = 0; + opts.cssFirst.left = 0; + opts.cssBefore.width = 0; + opts.cssBefore.height = 0; +}; + +// fadeZoom +$.fn.cycle.transitions.fadeZoom = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,false,false); + opts.cssBefore.left = next.cycleW/2; + opts.cssBefore.top = next.cycleH/2; + $.extend(opts.animIn, { top: 0, left: 0, width: next.cycleW, height: next.cycleH }); + }); + opts.cssBefore.width = 0; + opts.cssBefore.height = 0; + opts.animOut.opacity = 0; +}; + +// blindX +$.fn.cycle.transitions.blindX = function($cont, $slides, opts) { + var w = $cont.css('overflow','hidden').width(); + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts); + opts.animIn.width = next.cycleW; + opts.animOut.left = curr.cycleW; + }); + opts.cssBefore.left = w; + opts.cssBefore.top = 0; + opts.animIn.left = 0; + opts.animOut.left = w; +}; +// blindY +$.fn.cycle.transitions.blindY = function($cont, $slides, opts) { + var h = $cont.css('overflow','hidden').height(); + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts); + opts.animIn.height = next.cycleH; + opts.animOut.top = curr.cycleH; + }); + opts.cssBefore.top = h; + opts.cssBefore.left = 0; + opts.animIn.top = 0; + opts.animOut.top = h; +}; +// blindZ +$.fn.cycle.transitions.blindZ = function($cont, $slides, opts) { + var h = $cont.css('overflow','hidden').height(); + var w = $cont.width(); + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts); + opts.animIn.height = next.cycleH; + opts.animOut.top = curr.cycleH; + }); + opts.cssBefore.top = h; + opts.cssBefore.left = w; + opts.animIn.top = 0; + opts.animIn.left = 0; + opts.animOut.top = h; + opts.animOut.left = w; +}; + +// growX - grow horizontally from centered 0 width +$.fn.cycle.transitions.growX = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,false,true); + opts.cssBefore.left = this.cycleW/2; + opts.animIn.left = 0; + opts.animIn.width = this.cycleW; + opts.animOut.left = 0; + }); + opts.cssBefore.top = 0; + opts.cssBefore.width = 0; +}; +// growY - grow vertically from centered 0 height +$.fn.cycle.transitions.growY = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,true,false); + opts.cssBefore.top = this.cycleH/2; + opts.animIn.top = 0; + opts.animIn.height = this.cycleH; + opts.animOut.top = 0; + }); + opts.cssBefore.height = 0; + opts.cssBefore.left = 0; +}; + +// curtainX - squeeze in both edges horizontally +$.fn.cycle.transitions.curtainX = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,false,true,true); + opts.cssBefore.left = next.cycleW/2; + opts.animIn.left = 0; + opts.animIn.width = this.cycleW; + opts.animOut.left = curr.cycleW/2; + opts.animOut.width = 0; + }); + opts.cssBefore.top = 0; + opts.cssBefore.width = 0; +}; +// curtainY - squeeze in both edges vertically +$.fn.cycle.transitions.curtainY = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,true,false,true); + opts.cssBefore.top = next.cycleH/2; + opts.animIn.top = 0; + opts.animIn.height = next.cycleH; + opts.animOut.top = curr.cycleH/2; + opts.animOut.height = 0; + }); + opts.cssBefore.height = 0; + opts.cssBefore.left = 0; +}; + +// cover - curr slide covered by next slide +$.fn.cycle.transitions.cover = function($cont, $slides, opts) { + var d = opts.direction || 'left'; + var w = $cont.css('overflow','hidden').width(); + var h = $cont.height(); + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts); + opts.cssAfter.display = ''; + if (d == 'right') + opts.cssBefore.left = -w; + else if (d == 'up') + opts.cssBefore.top = h; + else if (d == 'down') + opts.cssBefore.top = -h; + else + opts.cssBefore.left = w; + }); + opts.animIn.left = 0; + opts.animIn.top = 0; + opts.cssBefore.top = 0; + opts.cssBefore.left = 0; +}; + +// uncover - curr slide moves off next slide +$.fn.cycle.transitions.uncover = function($cont, $slides, opts) { + var d = opts.direction || 'left'; + var w = $cont.css('overflow','hidden').width(); + var h = $cont.height(); + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,true,true,true); + if (d == 'right') + opts.animOut.left = w; + else if (d == 'up') + opts.animOut.top = -h; + else if (d == 'down') + opts.animOut.top = h; + else + opts.animOut.left = -w; + }); + opts.animIn.left = 0; + opts.animIn.top = 0; + opts.cssBefore.top = 0; + opts.cssBefore.left = 0; +}; + +// toss - move top slide and fade away +$.fn.cycle.transitions.toss = function($cont, $slides, opts) { + var w = $cont.css('overflow','visible').width(); + var h = $cont.height(); + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,true,true,true); + // provide default toss settings if animOut not provided + if (!opts.animOut.left && !opts.animOut.top) + $.extend(opts.animOut, { left: w*2, top: -h/2, opacity: 0 }); + else + opts.animOut.opacity = 0; + }); + opts.cssBefore.left = 0; + opts.cssBefore.top = 0; + opts.animIn.left = 0; +}; + +// wipe - clip animation +$.fn.cycle.transitions.wipe = function($cont, $slides, opts) { + var w = $cont.css('overflow','hidden').width(); + var h = $cont.height(); + opts.cssBefore = opts.cssBefore || {}; + var clip; + if (opts.clip) { + if (/l2r/.test(opts.clip)) + clip = 'rect(0px 0px '+h+'px 0px)'; + else if (/r2l/.test(opts.clip)) + clip = 'rect(0px '+w+'px '+h+'px '+w+'px)'; + else if (/t2b/.test(opts.clip)) + clip = 'rect(0px '+w+'px 0px 0px)'; + else if (/b2t/.test(opts.clip)) + clip = 'rect('+h+'px '+w+'px '+h+'px 0px)'; + else if (/zoom/.test(opts.clip)) { + var top = parseInt(h/2,10); + var left = parseInt(w/2,10); + clip = 'rect('+top+'px '+left+'px '+top+'px '+left+'px)'; + } + } + + opts.cssBefore.clip = opts.cssBefore.clip || clip || 'rect(0px 0px 0px 0px)'; + + var d = opts.cssBefore.clip.match(/(\d+)/g); + var t = parseInt(d[0],10), r = parseInt(d[1],10), b = parseInt(d[2],10), l = parseInt(d[3],10); + + opts.before.push(function(curr, next, opts) { + if (curr == next) return; + var $curr = $(curr), $next = $(next); + $.fn.cycle.commonReset(curr,next,opts,true,true,false); + opts.cssAfter.display = 'block'; + + var step = 1, count = parseInt((opts.speedIn / 13),10) - 1; + (function f() { + var tt = t ? t - parseInt(step * (t/count),10) : 0; + var ll = l ? l - parseInt(step * (l/count),10) : 0; + var bb = b < h ? b + parseInt(step * ((h-b)/count || 1),10) : h; + var rr = r < w ? r + parseInt(step * ((w-r)/count || 1),10) : w; + $next.css({ clip: 'rect('+tt+'px '+rr+'px '+bb+'px '+ll+'px)' }); + (step++ <= count) ? setTimeout(f, 13) : $curr.css('display', 'none'); + })(); + }); + $.extend(opts.cssBefore, { display: 'block', opacity: 1, top: 0, left: 0 }); + opts.animIn = { left: 0 }; + opts.animOut = { left: 0 }; +}; + +})(jQuery); diff --git a/app/assets/javascripts/modules.js b/app/assets/javascripts/modules.js new file mode 100644 index 00000000..3f1ba537 --- /dev/null +++ b/app/assets/javascripts/modules.js @@ -0,0 +1,9 @@ +$('#feature .holder ul').cycle({ + fx: 'scrollDown', + pager: '#feature-nav ul', + pause: 1, + pagerAnchorBuilder: function(idx, slide) { + // return selector string for existing anchor + return '#feature-nav ul li:eq(' + idx + ') a'; + } +}); diff --git a/app/assets/javascripts/orbitdesktop.js b/app/assets/javascripts/orbitdesktop.js index 8176e66c..e10a6604 100755 --- a/app/assets/javascripts/orbitdesktop.js +++ b/app/assets/javascripts/orbitdesktop.js @@ -233,6 +233,21 @@ var orbitDesktop = function(dom){ if(o.data_method != "") window.o[o.data_method](target,url,cache); } + try{ + if(!customload) + o.sub_menu_item($(o.contentHolder).find("*[content-type=menu] a[load=true]")); + else{ + if(submenuitem) + o.sub_menu_item($(o.contentHolder).find("*[content-type=menu] a[custom-load="+submenuitem+"]")); + else + o.sub_menu_item($(o.contentHolder).find("*[content-type=menu] a[load=true]")); + } + }catch(EX){} + + }) + }else{ + $(o.contentHolder).html(o.desktopData[o.currentface]); + try{ if(!customload) o.sub_menu_item($(o.contentHolder).find("*[content-type=menu] a[load=true]")); else{ @@ -241,18 +256,7 @@ var orbitDesktop = function(dom){ else o.sub_menu_item($(o.contentHolder).find("*[content-type=menu] a[load=true]")); } - - }) - }else{ - $(o.contentHolder).html(o.desktopData[o.currentface]); - if(!customload) - o.sub_menu_item($(o.contentHolder).find("*[content-type=menu] a[load=true]")); - else{ - if(submenuitem) - o.sub_menu_item($(o.contentHolder).find("*[content-type=menu] a[custom-load="+submenuitem+"]")); - else - o.sub_menu_item($(o.contentHolder).find("*[content-type=menu] a[load=true]")); - } + }catch(EX){} cache = true; if(typeof o.data_method != "undefined"){ if(o.data_method != "") @@ -565,7 +569,6 @@ var orbitDesktop = function(dom){ loadApps(); }; this.initializeSectionsManager = function(target,url,cache){ // this is init function for section manager - var elementParent,element,slabel; var bindHandlers = function(){ // this is bind handler for section manager page var groupWrapperWidth = 0; @@ -634,6 +637,7 @@ var orbitDesktop = function(dom){ } } z++; + $("div#group_wrapper").append($group); } var yy=1,y=0; @@ -641,6 +645,7 @@ var orbitDesktop = function(dom){ $.each(apps,function(i,app){ $li = $('
  • '+app.title+'

  • '); + $("ul#section"+yy).append($li); }) if(y==1){ diff --git a/app/assets/javascripts/orbitdesktopAPI.js b/app/assets/javascripts/orbitdesktopAPI.js index 57065c4d..66308860 100644 --- a/app/assets/javascripts/orbitdesktopAPI.js +++ b/app/assets/javascripts/orbitdesktopAPI.js @@ -26,7 +26,7 @@ var orbitDesktopAPI = function(){ break; } $notify.find("img#note_img").attr("src",o.notifyImgPath+img); - $notify.find(".note_message").text(msg); + $notify.find(".note_message").html(msg); n_height = $notify.outerHeight(); if(!time)time=5000; else time=time*1000; $notify diff --git a/app/assets/javascripts/rulingorbit.js b/app/assets/javascripts/rulingorbit.js new file mode 100644 index 00000000..fa300b74 --- /dev/null +++ b/app/assets/javascripts/rulingorbit.js @@ -0,0 +1,9 @@ +$(document).ready(function(){ + $('#screen-shot .holder') + .before('
    ') + .cycle({ + pager: '#scr-nav', + fx: 'scrollLeft', + pause: 1 + }); +}); diff --git a/app/assets/stylesheets/desktopmain.css b/app/assets/stylesheets/desktopmain.css index 8f591e1f..5263b351 100644 --- a/app/assets/stylesheets/desktopmain.css +++ b/app/assets/stylesheets/desktopmain.css @@ -26,7 +26,7 @@ time, mark, audio, video { #container input, #container textarea, #container select, #container input:focus, #container textarea:focus { border-radius: 0; box-shadow: none; - font: inherit; + font-family: inherit; } /* HTML5 display-role reset for older browsers */ article, aside, details, figcaption, figure, @@ -126,10 +126,13 @@ a:focus { outline: none; } .ini_input { margin: 0; padding: 0; - border: none; + border: 0; } .ini_input:focus { outline: none; } -#search_app { position: relative; background-color: #fff; } +#search_app { + position: relative; + background-color: #fff; +} #search_app .form { position: absolute; left: 0; @@ -139,6 +142,7 @@ a:focus { outline: none; } height: 28px; line-height: 28px; background: none; + border: 0; } #search_app .submit { position: absolute; @@ -289,7 +293,7 @@ a:focus { outline: none; } position: relative; z-index: 9; } -.toolbar .sdm, .toolbar .fn_g { display: inline-block; } +.toolbar .sdm, .toolbar .fn_g { display: inline-block; vertical-align: top; } .toolbar .sdm_o { top: 36px; background-color: #f0f0f0; } .toolbar button { border: none; @@ -300,7 +304,10 @@ a:focus { outline: none; } font-size: 15px; vertical-align: top; } - +.toolbar .fn_btn { + display: inline-block; + vertical-align: top; +} /* Setting Page */ .theme_list {} @@ -344,6 +351,7 @@ a:focus { outline: none; } font-size: 15px; line-height: 36px; text-align: center; + border: 0; } /* theme color opacity */ @@ -452,7 +460,7 @@ a:focus { outline: none; } height: 100%; left: 0; top: 0; - z-index: 9; + z-index: 10; } #orbitdiag .tile { background-color: #000; } .diag_holder { background-color: #000; } @@ -535,7 +543,7 @@ a:focus { outline: none; } .s_form input[type=text], .s_form input[type=password], .s_form textarea{ outline: solid 3px #f6f6f6; border: solid 1px #eee; - font-size: 18px; + font-size: 15px; font-family: Arial !important; margin: 0; padding: 6px; @@ -578,14 +586,14 @@ a:focus { outline: none; } height: 30px; line-height: 30px; right: 5px; - top: 4px; + top: 5px; display: block; background-color: #fff; } .s_form.s_grid_con { width: 416px; } .s_form .s_grid_row { width: 410px; } .s_form .s_grid_row .s_grid:first-child { margin-left: 0; } -.s_form input[type=text].s_grid, .s_form input[type=passowrd].s_grid, .s_form textarea.s_grid, .s_form label.s_grid { float: none; display: inline-block; margin-left: 10px; } +.s_form input[type=text].s_grid, .s_form input[type=passowrd].s_grid, .s_form textarea.s_grid, .s_form label.s_grid, .s_form select.s_grid { /*float: none; display: inline-block;*/ margin-left: 10px; } .s_form input[type=text].s_grid_1, .s_form input[type=passowrd].s_grid_1, .s_form textarea.s_grid_1 { width: 46px; } .s_form input[type=text].s_grid_2, .s_form input[type=passowrd].s_grid_2, .s_form textarea.s_grid_2 { width: 116px; } .s_form input[type=text].s_grid_3, .s_form input[type=passowrd].s_grid_3, .s_form textarea.s_grid_3 { width: 186px; } @@ -598,7 +606,30 @@ a:focus { outline: none; } .s_form select.s_grid_4 { width: 270px; } .s_form select.s_grid_5 { width: 340px; } .s_form select.s_grid_6 { width: 410px; } - +.s_form label.s_grid { line-height: 34px; } +.s_form select.s_grid { + height: 26px; + margin-top: 4px; + margin-bottom: 4px; +} +.s_form textarea.full_height { + height: 436px; +} +.s_form .s_table { + width: 100%; +} +.s_form .s_table th, .s_form .s_table td { + padding: 6px 0; +} +.s_form .s_table th { + text-align: left; +} +.s_form .s_table td { + vertical-align: middle; +} +.s_form .s_table thead th { + border-bottom: solid 1px #eee; +} #group_wrapper {} @@ -616,7 +647,7 @@ a:focus { outline: none; } .list_t_title { font-size: 15px; font-family: Arial; - margin-bottom: 10px; + margin-bottom: 6px; color: #333; } .list_t_des { @@ -624,7 +655,7 @@ a:focus { outline: none; } line-height: 1.5em; color: #999; font-family: Arial, sans-serif; - margin-bottom: 10px; + margin-bottom: 4px; } /* Connection Page */ @@ -684,6 +715,13 @@ a:focus { outline: none; } float: left; margin-left: -30px; } +#paper_list .list_item_function a { + display: inline-block; + padding: 4px; + font-family: Arial, sans-serif; + font-size: 11px; + -webkit-text-size-adjust: none; +} .list_item_action a { display: block; width: 20px; @@ -696,6 +734,29 @@ a:focus { outline: none; } .list_item_action .icon-check-empty { color: #999; font-size: 20px; } .list_item_action .icon-check { color: #333; font-size: 20px; } +#paper_list .list_t_item.file_view { + height: 148px; +} +#paper_list .file_view .file { + display: inline-block; + width: 62px; + height: 50px; + text-align: center; +} +#paper_list .file_view .file:hover { + background-color: #ddd; +} +#paper_list .file_view .file img { + width: 24px; + display: block; + margin: 0 auto; + margin-top: 4px; +} +#paper_list .file_view .filetitle { + font-size: 11px; + -webkit-text-size-adjust: none; +} + /* Journal Paper Add */ #paper_add .s_grid_con { float: left; @@ -708,6 +769,122 @@ a:focus { outline: none; } #paper_add .f_w { width: 336px; } #paper_add label { margin-right: 0; } +/* Journal Journal list */ +#journal_list .g_col { + width: 416px; +} +#journal_list .g_col { + float: left; + height: 456px; + margin-left: 12px; + padding-left: 12px; + border-left: solid 1px #EEE; +} +#journal_list .g_col:first-child { + margin-left: 0; + padding-left: 0; + border: none; +} +#journal_list .g_col .list_t_item { + padding-left: 30px; + height: 86px; +} +#journal_list .list_item_action { + font-size: 12px; + float: left; + margin-left: -30px; +} +#journal_list .list_item_action i { + color: #999; + font-size: 20px; + display: block; + width: 20px; + height: 20px; + line-height: 20px; + margin: 1px 1px 6px 1px; +} +#journal_list .list_t_desc { + font-family: Arial, sans-serif; + font-size: 12px; + color: #999; +} + +/* Journal Co-Author */ +#co_author {} +#co_author .list_t_item { + height: 110px; +} +#co_author .list_item_function {} +#co_author .list_item_function a { + display: inline-block; + padding: 4px; + font-family: Arial, sans-serif; + font-size: 11px; + -webkit-text-size-adjust: none; +} +#co_author .g_col:first-child { + margin-left: 0; + padding-left: 10px; + border: none; +} +#co_author .g_col { + width: 300px; + height: 456px; + margin-left: 12px; + padding-left: 12px; + border-left: solid 1px #EEE; +} +#co_author .info { + font-family: Arial, sans-serif; +} +#co_author .info li { + margin-bottom: 8px; + color: #999; +} +#co_author .info .name { + font-size: 18px; + line-height: 24px; + color: #333; +} +/* Journal Co-Author Relationship*/ +#co_author_relation_table .s_grid_con { + float: left; + width: 370px; + height: 456px; + margin-left: 12px; + padding-left: 12px; + border-left: solid 1px #EEE; +} +#co_author_relation_table .s_grid_con:first-child { + margin-left: 0; + padding-left: 0; + border: 0; +} +#co_author_relation_table .s_grid_row { + width: auto; + height: 64px; +} +#co_author_relation_table .edit_co_author_relation { + /*margin-left: -10px;*/ +} +#co_author_relation_table .list_item_function a { + display: inline-block; + padding: 4px; + font-family: Arial, sans-serif; + font-size: 11px; + -webkit-text-size-adjust: none; +} +#co_author_relation_table .form_space { + margin-bottom: 10px; + font-size: 18px; + font-family: Arial, sans-serif; +} +/* Journal New Co-Author */ +#new_co_author label { + margin-right: 0; +} + + /* App */ .app_frame { margin: 48px 96px 48px 156px; diff --git a/app/assets/stylesheets/module-store.css.erb b/app/assets/stylesheets/module-store.css.erb new file mode 100644 index 00000000..b4f2616c --- /dev/null +++ b/app/assets/stylesheets/module-store.css.erb @@ -0,0 +1,111 @@ +/* list page */ +header { + background-image: url(<%= asset_path "mheader_bg.jpg"%>); +} +#toolbar { + background-image: url(<%= asset_path "mfilter_bg.jpg"%>); + border: solid 1px #8b8b8b; + box-shadow: inset 0 -1px 0 #9a9a9a; +} +#feature { + border: solid 1px #ccc; + padding: 3px; + background-color: #fff; + margin-bottom: 30px; +} +#feature ul { + margin: 0; + padding: 0; + list-style: none; + height: 220px; +} +#feature .holder { + width: 740px; + height: 220px; + overflow: hidden; +} +#feature-nav { + float: right; +} +#feature-nav li { + margin-top: 9px; + position: relative; +} +#feature-nav li:first-child { + margin-top: 0; +} +#feature-nav li a { + display: block; +} +#feature-nav li a:hover:after, #feature-nav li.activeSlide a:after { + content: ''; + display: block; + border-top: 30px solid transparent; + border-bottom: 30px solid transparent; + border-right: 30px solid #fff; + position: absolute; + left: -30px; + top: 4px; +} +#feature-nav li a:hover, #feature-nav li.activeSlide { + outline: solid 9px #fff; + position: relative; + z-index: 99; + box-shadow: 0 10px 3px rgba(0,0,0,0.2); +} +#item-list ul { + margin: 0 -11px; +} +#item-list li { + width: 312px; + margin: 0 11px 35px 11px; +} +#item-list li a { + border: solid 1px #ccc; + background-color: #fff; +} +#item-list .item-thumb { + width: 144px; + height: 144px; + border: solid 3px #fff; + float: left; +} +#item-list .item-info { + width: 154px; + height: 144px; + padding: 3px; + float: right; + position: relative; +} +#item-list .item-name { + color: #000; + padding: 8px; + display: inline-block; +} +#item-list .item-price { + right: 10px; + bottom: 10px; + border-radius: 3px; +} +.fn .label { + color: #eee; +} + +/* content page */ +#content { + background: #fff url(<%= asset_path "mside_bg.png"%>) 0 0 repeat-y; + padding: 20px 0; +} +.user-list { + background-color: #fff; +} +.user-list li:first-child { + border-top: 0; +} +.user-list li { + color: #333; + border-top: solid 1px #f1f1f1; + padding: 8px; + padding-left: 20px; + background: url(<%= asset_path "ar1.png"%>) 10px 14px no-repeat; +} \ No newline at end of file diff --git a/app/assets/stylesheets/normalize.css b/app/assets/stylesheets/normalize.css new file mode 100644 index 00000000..73abb76f --- /dev/null +++ b/app/assets/stylesheets/normalize.css @@ -0,0 +1,375 @@ +/*! normalize.css v2.0.1 | MIT License | git.io/normalize */ + +/* ========================================================================== + HTML5 display definitions + ========================================================================== */ + +/* + * Corrects `block` display not defined in IE 8/9. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +nav, +section, +summary { + display: block; +} + +/* + * Corrects `inline-block` display not defined in IE 8/9. + */ + +audio, +canvas, +video { + display: inline-block; +} + +/* + * Prevents modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/* + * Addresses styling for `hidden` attribute not present in IE 8/9. + */ + +[hidden] { + display: none; +} + +/* ========================================================================== + Base + ========================================================================== */ + +/* + * 1. Sets default font family to sans-serif. + * 2. Prevents iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + -ms-text-size-adjust: 100%; /* 2 */ +} + +/* + * Removes default margin. + */ + +body { + margin: 0; +} + +/* ========================================================================== + Links + ========================================================================== */ + +/* + * Addresses `outline` inconsistency between Chrome and other browsers. + */ + +a:focus { + outline: thin dotted; +} + +/* + * Improves readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* ========================================================================== + Typography + ========================================================================== */ + +/* + * Addresses `h1` font sizes within `section` and `article` in Firefox 4+, + * Safari 5, and Chrome. + */ + +h1 { + font-size: 2em; +} + +/* + * Addresses styling not present in IE 8/9, Safari 5, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/* + * Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/* + * Addresses styling not present in Safari 5 and Chrome. + */ + +dfn { + font-style: italic; +} + +/* + * Addresses styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + + +/* + * Corrects font family set oddly in Safari 5 and Chrome. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, serif; + font-size: 1em; +} + +/* + * Improves readability of pre-formatted text in all browsers. + */ + +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +/* + * Sets consistent quote types. + */ + +q { + quotes: "\201C" "\201D" "\2018" "\2019"; +} + +/* + * Addresses inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/* + * Prevents `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* ========================================================================== + Embedded content + ========================================================================== */ + +/* + * Removes border when inside `a` element in IE 8/9. + */ + +img { + border: 0; +} + +/* + * Corrects overflow displayed oddly in IE 9. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* ========================================================================== + Figures + ========================================================================== */ + +/* + * Addresses margin not present in IE 8/9 and Safari 5. + */ + +figure { + margin: 0; +} + +/* ========================================================================== + Forms + ========================================================================== */ + +/* + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/* + * 1. Corrects color not being inherited in IE 8/9. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/* + * 1. Corrects font family not being inherited in all browsers. + * 2. Corrects font size not being inherited in all browsers. + * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome + */ + +button, +input, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 2 */ + margin: 0; /* 3 */ +} + +/* + * Addresses Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +button, +input { + line-height: normal; +} + +/* + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Corrects inability to style clickable `input` types in iOS. + * 3. Improves usability and consistency of cursor style between image-type + * `input` and others. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} + +/* + * Re-set default cursor for disabled elements. + */ + +button[disabled], +input[disabled] { + cursor: default; +} + +/* + * 1. Addresses box sizing set to `content-box` in IE 8/9. + * 2. Removes excess padding in IE 8/9. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/* + * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome. + * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/* + * Removes inner padding and search cancel button in Safari 5 and Chrome + * on OS X. + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* + * Removes inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/* + * 1. Removes default vertical scrollbar in IE 8/9. + * 2. Improves readability and alignment in all browsers. + */ + +textarea { + overflow: auto; /* 1 */ + vertical-align: top; /* 2 */ +} + +/* ========================================================================== + Tables + ========================================================================== */ + +/* + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} \ No newline at end of file diff --git a/app/assets/stylesheets/orbit-bar.css.erb b/app/assets/stylesheets/orbit-bar.css.erb index 38441260..154f1158 100644 --- a/app/assets/stylesheets/orbit-bar.css.erb +++ b/app/assets/stylesheets/orbit-bar.css.erb @@ -143,6 +143,7 @@ display: inline-block; line-height: 22px; padding: 0 10px; + vertical-align: top; } #orbit-bar .nav img.member-img { display: inline-block; diff --git a/app/assets/stylesheets/rulingorbit.css.erb b/app/assets/stylesheets/rulingorbit.css.erb new file mode 100644 index 00000000..db2be30b --- /dev/null +++ b/app/assets/stylesheets/rulingorbit.css.erb @@ -0,0 +1,386 @@ +@import url(http://fonts.googleapis.com/css?family=Lato:300,400,700); + +body { + font-family: Lato, 微軟正黑體, 新細明體, sans-serif; + font-size: 80%; + margin: 0; + padding: 0; + background-color: #f0f0f0; +} +.wrapper { + width: 980px; + margin: 0 auto; +} +#main-menu ul, #item-list ul, .item-extra-info, .user-list, .option-list { + margin: 0; + padding: 0; + list-style: none; +} +header { + /*background-color: #e0e0e0; + background-position: center 60px; + background-repeat: no-repeat; + height: 200px;*/ +} +#orbit-logo { + margin: 0; + height: 62px; +} +#orbit-logo a { + display: inline-block; + width: 150px; + height: 32px; + overflow: hidden; + text-indent: -9999px; + background: url(<%= asset_path "logo.png"%>) 0 0 no-repeat; + margin-top: 14px; +} +#orbit-logo span { + font-size: 10px; + color: #cdcdcd; + font-weight: normal; + display: inline-block; + vertical-align: middle; + margin: -4px 0 0 16px; + -webkit-text-size-adjust: none; +} +#main-menu { + background: url(<%= asset_path "topnav_bg.png"%>) 0 0 repeat-x; +} +#main-menu ul { + float: right; +} +#main-menu li { + float: left; + margin-left: 24px; + line-height: 62px; +} +#main-menu li a { + display: inline-block; + line-height: normal; + color: #b2b2b2; + font-size: 14px; + text-transform: uppercase; + text-decoration: none; +} +#main-menu li a:hover, #main-menu li a.active { + color: #fff; +} +#main-menu .demo a { + background-color: #c51c09; + color: #fff; + border: solid 2px #ea311d; + border-radius: 5px; + padding: 4px 8px; + font-weight: normal; +} +#page-title { + margin: 0; + padding: 36px 0 0 16px; + font-size: 3em; + text-shadow: 0 2px 0 #fff; +} +#page-title .sub { + font-weight: 300; + color: #b2b2b2; +} +#search-form { + float: right; + margin: 50px 16px 0 0; +} +#search-form input { + display: block; + margin: 0; + padding: 7px 12px; + outline: 0; + border: 0; + width: 230px; + height: 16px; + line-height: 16px; + color: #333; + font-family: inherit; + box-shadow: inset 0 1px 0 #999, inset 0 -1px 0 #eee; + border-radius: 15px; + background-color: #cecece; +} +#toolbar { + margin: 35px 0; + height: 50px; + background-color: #fff; + background-repeat: repeat-x; + border: solid 1px #e0e0e0; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #c9c9c9; + position: relative; + z-index: 9; +} +.ui { + background: #F2F2F2 url(<%= asset_path "ui_bg.png" %>) left center repeat-x; + height: 28px; + line-height: 28px; + border: solid 1px #e0e0e0; + border-radius: 3px; + cursor: pointer; +} +.controller, .btn { + padding: 0 8px; + text-decoration: none; + display: block; + height: 28px; + line-height: 28px; + color: #333; +} +.controller:hover, .btn:hover { + background: none; + background-color: #fff; + position: relative; + z-index: 99; +} +.fn { + display: inline-block; + vertical-align: top; + font-size: 14px; + margin: 10px 0 10px 16px; +} +.fn .label { + display: inline-block; + vertical-align: top; + line-height: 28px; + color: #999; + margin-right: 8px; + font-size: 1em; + font-weight: normal; + text-shadow: none; + background: none; +} +.option-default { + font-weight: bold; +} +.option-list { + /*display: none;*/ + position: absolute; + top: 28px; + left: -1px; + background-color: #fff; + border: solid 1px #e0e0e0; + width: 180px; +} +.option-list li { + border-top: solid 1px #eee; +} +.option-list li:first-child { + border-top: 0; +} +.option-list a { + color: #666; + text-decoration: none; +} +.option-list a:hover { + color: #333; + background-color: #f6f6f6; +} +.drop-menu { + position: relative; + display: inline-block; +} +.drop-menu:after { + display: table; + width: 100%; + content: ''; +} +.drop-menu .arrow { + display: inline-block; + background: url(<%= asset_path "dropdown_ad.png"%>) 0 0 no-repeat; + width: 16px; + height: 18px; + vertical-align: top; + margin: 5px 0 0 8px; +} +.drop-menu:hover { + border-radius: 3px 3px 0 0; +} +.drop-menu:hover .controller { + border-bottom: solid 1px #fff; + background-color: #fff; + position: relative; + z-index: 99; +} +.drop-menu:hover .option-list { + display: block; + border-radius: 0 4px 4px 4px; +} +.drop-menu .option-list { + display: none; +} +.drop-menu .option-list li a { + display: block; + line-height: normal; + padding: 8px; +} +.drop-menu .option-default { + display: inline-block; +} +.select { + display: inline-block; +} +.select .option-list { + position: static; + display: inline-block; + border: 0; + width: auto; + background-color: transparent; +} +.select .option-list li { + display: inline-block; + border-top: 0; + vertical-align: top; +} +.select .option-list li a { + display: block; + text-decoration: none; + color: #333; +} + +#item-list ul {} +#item-list li { + float: left; +} +#item-list li a { + display: block; + overflow: hidden; + position: relative; +} +#item-list li a:hover {} +.item-thumb { + display: block; + background: #ccc url(<%= asset_path "thumb_default.png"%>) center center no-repeat; +} +#item-list .item-info { + position: relative; + display: block; +} +#item-list .item-name { + font-size: 1.25em; + font-weight: normal; +} +#item-list .item-price { + position: absolute; + right: 0; + bottom: 0; + background-color: #c51c09; + height: 24px; + line-height: 24px; + color: #fff; + padding: 0 8px; +} + +/* content page */ +#content h3 { + font-size: 1.5em; + text-transform: capitalize; +} +#content .side, #content .main { + padding: 0 20px; +} +#content .side { + float: left; +} +#content .main { + float: right; + width: 676px; +} +#item-info .item-thumb { + width: 210px; + height: 210px; + border: solid 5px #fff; +} +#item-info .item-name { + font-size: 2.16em; + text-shadow: 0 2px 0 #fff; +} +#item-info .item-extra-info { + margin: 20px 0; +} +#item-info .item-extra-info li { + border-top: solid 1px #E0E0E0; + padding-top: 12px; + margin-top: 12px; +} +#item-info .item-extra-info li:first-child { + border-top: 0; + padding: 0; + margin: 0; +} +#item-info .item-extra-info .title { + color: #666; + display: inline-block; + /*width: 70px;*/ + margin-right: 12px; +} +#item-info .item-extra-info .count { + font-size: 1.5em; + color: #000; +} +#screen-shot { + padding: 5px; + background-color: #fff; +} +#screen-shot .holder { + overflow: hidden; + height: 450px; +} +#screen-shot .preview { + width: 670px; + height: 450px; +} +#scr-nav { + text-align: center; + height: 30px; + line-height: 30px; +} +#scr-nav a { + display: inline-block; + width: 12px; + height: 12px; + margin: 0 6px; + overflow: hidden; + text-indent: -999px; + background-color: #aaa; + border-radius: 6px; + box-shadow: inset 0 1px 0 rgba(0,0,0,0.4); +} +#scr-nav a.activeSlide, #scr-nav a:hover { + background-color: #e7230d; +} +#download { + display: block; + text-align: center; + text-decoration: none; + text-transform: capitalize; + font-size: 1.5em; + color: #fff; + line-height: 2.2em; + text-shadow: 0 -1px 0 rgba(0,0,0,0.3); + border-radius: 5px; + box-shadow: inset 0 -2px 0 rgba(0,0,0,0.2); + background: #dd200b; + background: -moz-linear-gradient(top, #dd200b 0%, #c51c09 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#dd200b), color-stop(100%,#c51c09)); + background: -webkit-linear-gradient(top, #dd200b 0%,#c51c09 100%); + background: -o-linear-gradient(top, #dd200b 0%,#c51c09 100%); + background: -ms-linear-gradient(top, #dd200b 0%,#c51c09 100%); + background: linear-gradient(to bottom, #dd200b 0%,#c51c09 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dd200b', endColorstr='#c51c09',GradientType=0 ); +} + +footer { + background-color: #fff; + text-align: center; + font-size: 12px; + color: #999; + padding: 16px 0; + margin-top: 35px; +} +footer p { + margin: 0; +} \ No newline at end of file diff --git a/app/assets/stylesheets/template-store.css.erb b/app/assets/stylesheets/template-store.css.erb new file mode 100644 index 00000000..127f17c4 --- /dev/null +++ b/app/assets/stylesheets/template-store.css.erb @@ -0,0 +1,110 @@ +/* list page */ +header { + background-image: url(<%= asset_path "theader_bg.jpg"%>); +} +#toolbar { + background-image: url(<%= asset_path "tfilter_bg.jpg"%>); +} +#item-list li { + width: 25%; +} +#item-list li a { + width: 220px; + height: 220px; + background: url(<%= asset_path "tlist_tap.png"%>) center top no-repeat; + padding-top: 16px; + margin: 0 auto 35px auto; + background-color: #fff; + box-shadow: 0 4px 6px rgba(0,0,0,0.2); +} +#item-list li a:hover .item-info { + visibility: visible; + opacity: 1; +} +#item-list .item-thumb { + width: 210px; + height: 210px; + border: solid 5px #fff; +} +#item-list .item-info { + visibility: hidden; + opacity: 0; + position: absolute; + bottom: 5px; + left: 5px; + width: 190px; + height: 60px; + padding: 10px; + background-color: #000; + background-color: rgba(0,0,0,0.7); + + -webkit-transition: opacity 0.3s ease; + -moz-transition: opacity 0.3s ease; + transition: opacity 0.3s ease; +} +#item-list .item-name { + color: #fff; +} +#item-list .item-price { + right: 10px; + bottom: 0; + border-radius: 3px 3px 0 0; +} +.color-tag { + display: inline-block; + vertical-align: middle; + width: 24px; + height: 24px; + border-radius: 2px; + box-shadow: inset 0 1px 1px rgba(0,0,0,0.6); +} +.btn .color-tag { + margin: 2px -6px; + vertical-align: baseline; +} +.red { + background-color: #ef202a; +} +.yellow { + background-color: #feba29; +} +.green { + background-color: #2ca53b; +} +.blue { + background-color: #019cef; +} +.purple{ + background-color: #d402e7; +} +.white { + background-color: #fff; +} +.gray { + background-color: #969696; +} +.black { + background-color: #222; +} +#color-filter .btn:hover { + background-color: #aaa; + border-color: #9a9a9a; + background-image: linear-gradient(bottom, rgb(204,204,204) 0%, rgb(172,172,172) 100%); + background-image: -o-linear-gradient(bottom, rgb(204,204,204) 0%, rgb(172,172,172) 100%); + background-image: -moz-linear-gradient(bottom, rgb(204,204,204) 0%, rgb(172,172,172) 100%); + background-image: -webkit-linear-gradient(bottom, rgb(204,204,204) 0%, rgb(172,172,172) 100%); + background-image: -ms-linear-gradient(bottom, rgb(204,204,204) 0%, rgb(172,172,172) 100%); +} +#color-filter .btn:hover .color-tag { + box-shadow: inset 0 1px 1px rgba(0,0,0,0.6), inset 0 -1px 0 rgba(255,255,255,0.6); +} +#color-filter .option-default:hover { + background-color: #f6f6f6; + background-image: none; + border-color: #e0e0e0; +} + +/* content page */ +#item-info .item-thumb, #screen-shot { + box-shadow: 0 2px 6px rgba(0,0,0,0.2); +} \ No newline at end of file diff --git a/app/controllers/admin/infos_controller.rb b/app/controllers/admin/infos_controller.rb index c08d1386..e79fba7b 100644 --- a/app/controllers/admin/infos_controller.rb +++ b/app/controllers/admin/infos_controller.rb @@ -8,6 +8,9 @@ class Admin::InfosController < ApplicationController def index @attributes = Info.all.entries + + @roles = Role.excludes('disabled' => true) + render :template => 'admin/attributes/index' end @@ -22,7 +25,7 @@ class Admin::InfosController < ApplicationController def edit @attribute = Info.find(params[:id]) - @attribute_fields_upper_object = [@attribute] + # @attribute_fields_upper_object = [@attribute] render :template => 'admin/attributes/edit' end @@ -49,10 +52,20 @@ class Admin::InfosController < ApplicationController end def add_attribute_field + attribute = Info.find(params[:info_id]) rescue nil @attribute_field_counter = attribute.attribute_fields.count @attribute_field = attribute.attribute_fields.build @attribute_field.save + + @attribute_field[:af_count] = @attribute_field_counter + + @attribute = Info.find(params[:info_id]) + + respond_to do |format| + format.js { render 'admin/attributes/add_attribute_field' } + end + end protected diff --git a/app/controllers/admin/purchases_controller.rb b/app/controllers/admin/purchases_controller.rb index f4d1ae2a..8a0ffdbc 100644 --- a/app/controllers/admin/purchases_controller.rb +++ b/app/controllers/admin/purchases_controller.rb @@ -9,6 +9,18 @@ class Admin::PurchasesController < ApplicationController @purchases = Purchase.all.entries end + def buy_template + original_file, zip_name = download_template(params[:id]) + temp_file = Tempfile.new("temp_file_zip") + temp_file.binmode + temp_file.write original_file + temp_file.rewind + unzip_design(temp_file, zip_name) + temp_file.close + temp_file.unlink + redirect_to admin_designs_url + end + def download @purchase = Purchase.first(:conditions => {:id => params[:id]}) download_purchase(@purchase, request.env['REQUEST_URI'].split('admin')[0].chop) @@ -183,4 +195,66 @@ class Admin::PurchasesController < ApplicationController end + + def download_template(id) + uri = URI.parse("http://#{APP_CONFIG['store_ip']}/download/design/#{id}") + http = Net::HTTP.new(uri.host, uri.port) + request = Net::HTTP::Get.new(uri.request_uri) + response = http.request(request) + [response.body, (response['content-disposition'].split('filename=')[1].gsub(/[\\\"]|.zip/, '') rescue '')] + end + + def unzip_design(input_file, zip_name) + temp_file = Tempfile.new("temp_file") + temp_file.write(input_file.read.force_encoding('UTF-8')) + temp_file.rewind + Zip::ZipFile.open(temp_file) { |zip_file| + design = Design.new.from_json(zip_file.read("#{zip_name}/info.json")) + Dir.mktmpdir('f_path') { |dir| + themes_entries = [] + javascripts_entries = [] + images_entries = [] + screenshots_entries = [] + + zip_file.entries.each do |entry| + case (path = entry.to_s) + when /\A(#{zip_name})\/(default\.css)\z/ #for default css + design.build_css_default(:file => get_temp_file(zip_file, dir, entry)) + when /\A(#{zip_name})\/(reset\.css)\z/ #for reset css + design.build_css_reset(:file => get_temp_file(zip_file, dir, entry)) + when /\A(#{zip_name})\/(layout\.html)\z/ #for layout html + design.build_layout(:file => get_temp_file(zip_file, dir, entry)) + when /\A(#{zip_name})\/(thumb((\.jpg)|(\.png)|(\.gif)))\z/ #for thumb + design.build_thumb(:file => get_temp_file(zip_file, dir, entry)) + when /\A(#{zip_name})\/(themes)\/.*(\.css)\z/ #for themes css + themes_entries << entry + when /\A(#{zip_name})\/(javascripts)\/.*(\.js)\z/ #for js + javascripts_entries << entry + when /\A(#{zip_name})\/(images)\/.*((\.jpg)|(\.png)|(\.gif))\z/ #for img + images_entries << entry + when /\A(#{zip_name})\/(screenshots)\/.*((\.jpg)|(\.png)|(\.gif))\z/ #for img + screenshots_entries << entry + end + end + + ['themes', 'javascripts', 'images', 'screenshots'].each do |type| + eval("#{type}_entries").each do |entry| + eval("design.#{type}").build(:file => get_temp_file(zip_file, dir, entry)) + end + end + } + design.zip_file = input_file + design.save + } + temp_file.close + temp_file.unlink + end + + def get_temp_file(zip_file, dir, entry) + filename = File.basename(entry.to_s) + temp_file = File.new(dir + '/' + filename, 'w+') + temp_file.write (zip_file.read entry ).force_encoding('UTF-8') + temp_file + end + end \ No newline at end of file diff --git a/app/controllers/admin/sites_controller.rb b/app/controllers/admin/sites_controller.rb index ffdec04a..b44ef25e 100644 --- a/app/controllers/admin/sites_controller.rb +++ b/app/controllers/admin/sites_controller.rb @@ -57,6 +57,24 @@ class Admin::SitesController < ApplicationController end + def change_design + design = Design.find(params[:site_id]) rescue nil + update_design(design) if design + render :nothing => true + end + + protected + + def update_design(design) + @site.design = design + if @site.save + theme_id = design.themes.first.id + Page.all.each do |page| + page.update_attributes({design_id: design.id, theme_id: (theme_id unless page.root?)}) + end + end + end + private def get_site diff --git a/app/controllers/admin/template_store_controller.rb b/app/controllers/admin/template_store_controller.rb index cdda6ff9..a8656d82 100644 --- a/app/controllers/admin/template_store_controller.rb +++ b/app/controllers/admin/template_store_controller.rb @@ -3,9 +3,29 @@ class Admin::TemplateStoreController < ApplicationController layout "new_admin" def index + @templates = JSON.parse(get_templates) end def show + @template = JSON.parse(get_template(params[:id])) rescue nil + end + + protected + + def get_template(id) + uri = URI.parse("http://#{APP_CONFIG['store_ip']}/store/design/#{id}") + http = Net::HTTP.new(uri.host, uri.port) + request = Net::HTTP::Get.new(uri.request_uri) + response = http.request(request) + response.body + end + + def get_templates + uri = URI.parse("http://#{APP_CONFIG['store_ip']}/store/designs") + http = Net::HTTP.new(uri.host, uri.port) + request = Net::HTTP::Get.new(uri.request_uri) + response = http.request(request) + response.body end end \ No newline at end of file diff --git a/app/controllers/desktop/co_author_relations_controller.rb b/app/controllers/desktop/co_author_relations_controller.rb index f35391dd..f07cc07d 100644 --- a/app/controllers/desktop/co_author_relations_controller.rb +++ b/app/controllers/desktop/co_author_relations_controller.rb @@ -8,18 +8,38 @@ class Desktop::CoAuthorRelationsController < ApplicationController end end + def edit + @co_author_relation = CoAuthorRelation.find(params[:id]) + respond_to do |format| + format.html { render :layout => false} + end + end + def new - @new_relation = CoAuthorRelation.new + @co_author_relation = CoAuthorRelation.new end def create - @new_relation = CoAuthorRelation.new(params[:co_author_relation]) + @co_author_relation = CoAuthorRelation.new(params[:co_author_relation]) + @co_author_relations = CoAuthorRelation.all - if @new_relation.save - newv = render_to_string :partial=>"show_form", :object=>@new_relation - render json: {success:true, msg: "New Relation successfully saved!","newvalue"=>newv}.to_json + if @co_author_relation.save + newv = render_to_string partial: "show_form", object: @co_author_relations + render json: {success: true, msg: "New Relation successfully saved!", newvalue: newv}.to_json else - error_msg = @new_relation.errors.full_messages.join("
    ") + error_msg = @co_author_relation.errors.full_messages.join("
    ") + render json: {success: false, msg: error_msg}.to_json + end + end + + def update + @co_author_relation = CoAuthorRelation.find(params[:id]) + if @co_author_relation.update_attributes(params[:co_author_relation]) + @co_author_relations = CoAuthorRelation.all + newv = render_to_string partial: "show_form", object: @co_author_relations + render json: {success: true, msg: "New Relation successfully updated!", newvalue: newv}.to_json + else + error_msg = @co_author.errors.full_messages.join("
    ") render json: {success: false, msg: error_msg}.to_json end end @@ -27,7 +47,17 @@ class Desktop::CoAuthorRelationsController < ApplicationController def destroy @co_author_relation = CoAuthorRelation.find(params[:id]) @co_author_relation.destroy + reset_co_author_relation render :json => {success: true, msg: "deleted successfully!"} end + + private + + def reset_co_author_relation + co_author = CoAuthor.where(co_author_relations_id: @co_author_relation.id) + co_author.map do |c| + c.update_attributes(co_author_relations_id: nil) + end + end end diff --git a/app/controllers/desktop/co_authors_controller.rb b/app/controllers/desktop/co_authors_controller.rb index c027a162..6d7b41d6 100644 --- a/app/controllers/desktop/co_authors_controller.rb +++ b/app/controllers/desktop/co_authors_controller.rb @@ -1,6 +1,8 @@ class Desktop::CoAuthorsController < ApplicationController def index - @co_authors = CoAuthor.where(name_id: current_user.id) + nils, not_nils = CoAuthor.where(name_id: current_user.id)\ + .asc(:co_author).partition{|p| p.email.nil?} + @co_authors = not_nils + nils @co_author_relations = CoAuthorRelation.all respond_to do |format| @@ -8,15 +10,6 @@ class Desktop::CoAuthorsController < ApplicationController end end - def show - @co_author = CoAuthor.find(params[:id]) - - respond_to do |format| - format.html { redirect_to desktop_co_authors_url, :layout => false } - format.json { render json: @co_author } - end - end - def new @co_author = CoAuthor.new @co_author_relations = CoAuthorRelation.all diff --git a/app/controllers/desktop/journal_lists_controller.rb b/app/controllers/desktop/journal_lists_controller.rb index 8605b47d..2667a5a7 100644 --- a/app/controllers/desktop/journal_lists_controller.rb +++ b/app/controllers/desktop/journal_lists_controller.rb @@ -1,5 +1,4 @@ class Desktop::JournalListsController < ApplicationController - def index level_types = JournalLevelType.all all_journal_lists = WritingJournal.where(create_user_id: current_user.id) @@ -7,8 +6,7 @@ class Desktop::JournalListsController < ApplicationController [ j.journal_title, j.journal_level_type_ids.map do |type| level_types.find(type).title - end.join(",") - ].join(" -- ") + end] end @journal_lists = all_journal_lists.uniq diff --git a/app/controllers/desktop/journal_pages_controller.rb b/app/controllers/desktop/journal_pages_controller.rb index 5775be0a..8a2312b8 100644 --- a/app/controllers/desktop/journal_pages_controller.rb +++ b/app/controllers/desktop/journal_pages_controller.rb @@ -1,6 +1,4 @@ class Desktop::JournalPagesController < ApplicationController - #before_filter :check_for_cancel, :only => [:create, :update] - def index @writing_journal = WritingJournal.where(create_user_id: current_user.id) @level_types = JournalLevelType.all @@ -10,9 +8,6 @@ class Desktop::JournalPagesController < ApplicationController end end - def show - end - def new @writing_journal = WritingJournal.new @level_types = JournalLevelType.all @@ -109,10 +104,4 @@ class Desktop::JournalPagesController < ApplicationController render json: JSON.pretty_generate(data) end - private - - def check_for_cancel - if params[:commit] == "Cancel" - end - end end diff --git a/app/controllers/desktop_controller.rb b/app/controllers/desktop_controller.rb index 279694b6..4eef26be 100644 --- a/app/controllers/desktop_controller.rb +++ b/app/controllers/desktop_controller.rb @@ -19,7 +19,7 @@ class DesktopController< ApplicationController render :layout => false end - def sections + def allsections render :layout => false end diff --git a/app/models/design/design.rb b/app/models/design/design.rb index aa43368a..6e7a9aff 100644 --- a/app/models/design/design.rb +++ b/app/models/design/design.rb @@ -8,62 +8,27 @@ class Design field :title, :type => String field :version, :type => String + mount_uploader :zip_file, AssetUploader + + has_one :site has_one :css_default, as: :css, :autosave => true, :dependent => :destroy has_one :layout, :autosave => true, :dependent => :destroy has_one :css_reset, :autosave => true, :dependent => :destroy + has_one :thumb, :autosave => true, :dependent => :destroy has_many :images, as: :imgs, :autosave => true, :dependent => :destroy has_many :javascripts, as: :js, :autosave => true, :dependent => :destroy has_many :pages + has_many :screenshots, :autosave => true, :dependent => :destroy has_many :themes, :autosave => true, :dependent => :destroy accepts_nested_attributes_for :images, :allow_destroy => true accepts_nested_attributes_for :javascripts, :allow_destroy => true + accepts_nested_attributes_for :screenshots, :allow_destroy => true accepts_nested_attributes_for :themes, :allow_destroy => true validates_presence_of :author, :title after_save :parse_css_for_images - - - def new_files=(*attrs) - attrs[0].map do |key,items_ary| #Loop by JSs,Themes,Imgs - self.files=([items_ary, key]) - end - end - - # def javascripts=(*attrs) - # self.files = (attrs << 'javascripts') - # end - # - # def themes=(*attrs) - # self.files = (attrs << 'themes') - # end - # - # def images=(*attrs) - # self.files = (attrs << 'images') - # end - - # Update or create the attribute records - def files=(attrs) - case attrs.last - when 'layout' - files = self.layout.build - else - files = eval(attrs.last) - end - attrs[0].each do |a| - - if a[:id].blank? && !a[:file].blank? - files.build(:file => a[:file], :to_save => true) - else - files.each do |file| - if file.id.to_s == a[:id] - file.to_destroy = a[:to_destroy] - end - end - end - end - end protected diff --git a/app/models/design/screenshot.rb b/app/models/design/screenshot.rb new file mode 100644 index 00000000..f0116e14 --- /dev/null +++ b/app/models/design/screenshot.rb @@ -0,0 +1,3 @@ +class Screenshot < Image + belongs_to :design +end \ No newline at end of file diff --git a/app/models/design/thumb.rb b/app/models/design/thumb.rb new file mode 100644 index 00000000..5c226542 --- /dev/null +++ b/app/models/design/thumb.rb @@ -0,0 +1,3 @@ +class Thumb < Image + belongs_to :design +end \ No newline at end of file diff --git a/app/models/desktop/section.rb b/app/models/desktop/section.rb index f9035c69..1a4c0c4d 100644 --- a/app/models/desktop/section.rb +++ b/app/models/desktop/section.rb @@ -11,7 +11,6 @@ class Section def initialize_group self.groups.build - self.groups.build end -end \ No newline at end of file +end diff --git a/app/models/site.rb b/app/models/site.rb index 992ef9a7..a639bdd0 100644 --- a/app/models/site.rb +++ b/app/models/site.rb @@ -26,6 +26,7 @@ class Site field :footer, localize: true field :sub_menu, localize: true + belongs_to :design has_many :site_metas, :autosave => true, :dependent => :destroy def generate_keys diff --git a/app/models/user/attribute_field.rb b/app/models/user/attribute_field.rb index c0aabb9c..d486ccd0 100644 --- a/app/models/user/attribute_field.rb +++ b/app/models/user/attribute_field.rb @@ -4,6 +4,7 @@ class AttributeField include ::AttributeFieldsHelper field :key + field :af_count field :markup ,:default=>"text_field" field :option_list ,:type => Hash,:default => {} field :markup_options,:type => Hash diff --git a/app/uploaders/image_uploader.rb b/app/uploaders/image_uploader.rb index 3f4b1261..892acbc9 100644 --- a/app/uploaders/image_uploader.rb +++ b/app/uploaders/image_uploader.rb @@ -3,6 +3,7 @@ class ImageUploader < CarrierWave::Uploader::Base require 'mime/types' + require 'carrierwave/processing/mini_magick' include Sprockets::Helpers::RailsHelper process :set_content_type @@ -61,15 +62,21 @@ class ImageUploader < CarrierWave::Uploader::Base # def filename # "something.jpg" if original_filename # end + +def cache_dir + "#{Rails.root}/tmp/uploads" + end + def manipulate! cache_stored_file! if !cached? +#raise File.extname(current_path.to_s).to_s image = ::MiniMagick::Image.open(current_path) - image = yield(image) - image.write(current_path) - ::MiniMagick::Image.open(current_path) - rescue - nil +# image = yield(image) +# image.write(current_path) +# ::MiniMagick::Image.open(current_path) +# rescue +# nil end end diff --git a/app/views/admin/attributes/add_attribute_field.js.erb b/app/views/admin/attributes/add_attribute_field.js.erb new file mode 100644 index 00000000..dd3d7198 --- /dev/null +++ b/app/views/admin/attributes/add_attribute_field.js.erb @@ -0,0 +1 @@ +$('<%= j render :partial => 'shared/attribute_field/attribute_field', :collection => [@attribute_field] %>').appendTo('#attribute_field_list').hide().fadeIn(); diff --git a/app/views/admin/attributes/edit.html.erb b/app/views/admin/attributes/edit.html.erb index 6c980863..301bf18b 100644 --- a/app/views/admin/attributes/edit.html.erb +++ b/app/views/admin/attributes/edit.html.erb @@ -18,13 +18,14 @@
    - - <% @attribute_fields_upper_object.each do |attribute|%> -
    -

    <%= attribute.title+ t(:attributes)%>

    - <%= render :partial=>"shared/attribute_field/attribute_field",:collection=>attribute.attribute_fields%> -
    - <% end %> + +
    +

    <%= @attribute.title+ t(:attributes)%>

    +
    + <%= render :partial=>"shared/attribute_field/attribute_field",:collection=>@attribute.attribute_fields%> +
    +
    +
    <%= link_to content_tag(:i,t(:add_attribute_field),:class=>"icon-plus icon-white"),admin_info_add_attribute_field_path(@attribute),:class=>"btn btn-primary",:remote => true%> diff --git a/app/views/admin/designs/_design.html.erb b/app/views/admin/designs/_design.html.erb index bf75bd65..82a37c1a 100644 --- a/app/views/admin/designs/_design.html.erb +++ b/app/views/admin/designs/_design.html.erb @@ -1,6 +1,6 @@ - <%= check_box_tag 'to_delete[]', design.id, false, :class => "checkbox_in_list" %> - + <%= check_box_tag 'to_delete[]', design.id, false, :class => "checkbox_in_list" %> + <%= design.title %>
    - <%= design.author %> - <%= design.intro %> + <%= radio_button_tag 'design_default', design.id, (@site.design.id.to_s.eql?(design.id.to_s) ? true : false), :class => 'design_default', :rel => admin_sites_path %> + <%= design.intro %> + <%= design.author %> \ No newline at end of file diff --git a/app/views/admin/designs/_designs.html.erb b/app/views/admin/designs/_designs.html.erb index 838057f2..de11dc78 100644 --- a/app/views/admin/designs/_designs.html.erb +++ b/app/views/admin/designs/_designs.html.erb @@ -1,12 +1,24 @@ - + + <%= render :partial => 'design', :collection => @designs %> - \ No newline at end of file + + +<% content_for :page_specific_javascript do %> + +<% end %> diff --git a/app/views/admin/designs/_sort_headers.html.erb b/app/views/admin/designs/_sort_headers.html.erb index ff03706f..c1410201 100644 --- a/app/views/admin/designs/_sort_headers.html.erb +++ b/app/views/admin/designs/_sort_headers.html.erb @@ -1,4 +1,5 @@ <%= render_sort_bar(true, delete_admin_designs_path(:direction => params[:direction], :sort => params[:sort], :sort_options => params[:sort_options]), - ['title', 'title','span7', :title], - ['author', 'author', 'span2', :author], - ['intro', 'intro', 'span2', :intro]).html_safe %> + ['title', 'title','span2', :title], + ['', '', 'span1', :default], + ['intro', 'intro', 'span7', :intro], + ['author', 'author', 'span2', :author]).html_safe %> diff --git a/app/views/admin/designs/edit.html.erb b/app/views/admin/designs/edit.html.erb index 45ea0bf0..37e67808 100644 --- a/app/views/admin/designs/edit.html.erb +++ b/app/views/admin/designs/edit.html.erb @@ -18,7 +18,7 @@
    - diff --git a/app/views/admin/template_store/show.html.erb b/app/views/admin/template_store/show.html.erb index 1a3e37d7..13544e84 100644 --- a/app/views/admin/template_store/show.html.erb +++ b/app/views/admin/template_store/show.html.erb @@ -3,75 +3,78 @@ <% end %> <% content_for :page_specific_css do %> - <%= stylesheet_link_tag 'templatestore' %> + <%= stylesheet_link_tag 'normalize' %> + <%= stylesheet_link_tag 'bootstrap-responsive' %> + <%= stylesheet_link_tag 'rulingorbit' %> + <%= stylesheet_link_tag 'template-store' %> <% end %> - <% content_for :page_specific_javascript do %> - <%= javascript_include_tag 'lib/jquery.cycle.all.latest.js' %> - + <%= javascript_include_tag "jquery.cycle" %> + <%= javascript_include_tag "rulingorbit" %> <% end %> -
    -
    -

    Orbit Template Store

    -
    -
    -
    - <%= image_tag 'templatestore/template-icon.jpg', :class => "template-icon" %> - Free download -
      -
    • Views: 7985 times
    • -
    +<% if @template %> +
    + - -
    - -

    Orbit Template name here

    -

    Description

    -

    - Orbit Blog makes it easy to post text, photos and video onto your blog. - - We created Orbit blog to give you an easy way to share your thoughts about current events, what's going on in your life, or anything else you'd care to discuss with the world. We've developed a host of features to make blogging as simple and effective as possible: - - * Free hosting for your images, video, and blog content - * Powerful Template Designer for customizing your blog's look and feel - * Drag and drop widget arrangements - * Hundreds of background images and of flexible default templates - * Built-in blog stats for realtime traffic data - * Easy, built-in monetization with AdSense - * Mobile support for blogging-on-the-go - * Use your custom URL for free - * Support for individual, team, and private blogs - * Post and comment notifications - * Gadget directory with hundreds of free widgets and add-ons - * Available in 4 languages -

    -
    -

    Screenshots

    -
    -
    -
    - <%= image_tag 'templatestore/screenshot1.jpg' %> - <%= image_tag 'templatestore/screenshot2.jpg' %> - <%= image_tag 'templatestore/screenshot3.jpg' %> - <%= image_tag 'templatestore/screenshot4.jpg' %> - <%= image_tag 'templatestore/screenshot5.jpg' %> +
    +
    +
    + <%= image_tag "http://#{APP_CONFIG['store_ip']}#{@template['thumb']}", :class => "item-thumb" %> +

    <%= @template['title'] %>

    + <%= link_to 'free download', buy_template_admin_purchase_path(@template['id']), :id => "download" %> +
      +
    • views<%= Random.new.rand(10..100) %>
    • + +
    -
    +
    +

    description

    +
    <%= @template['intro'] %>
    +

    screen shot

    +
    +
    + <% @template['screenshots'].each do |screenshot| %> + <%= image_tag "http://#{APP_CONFIG['store_ip']}#{screenshot}", :class => "preview item-thumb" %> + <% end %> +
    +
    +
    +
    -
    \ No newline at end of file +<% else %> +
    + +
    +
    +
    + +

    Template Name

    + free download +
      +
    • views<%= Random.new.rand(10..100) %>
    • + +
    +
    +
    +
    +

    description

    +
    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.
    +

    screen shot

    +
    +
    + Thumbnail 1 + Thumbnail 2 + Thumbnail 3 + Thumbnail 4 + Thumbnail 5 +
    +
    +
    +
    +
    +<% end %> \ No newline at end of file diff --git a/app/views/desktop/sections.html.erb b/app/views/desktop/allsections.html.erb similarity index 100% rename from app/views/desktop/sections.html.erb rename to app/views/desktop/allsections.html.erb diff --git a/app/views/desktop/app_manager.html.erb b/app/views/desktop/app_manager.html.erb old mode 100755 new mode 100644 diff --git a/app/views/desktop/co_author_relations/_form.html.erb b/app/views/desktop/co_author_relations/_form.html.erb index a6d2b68e..83be814e 100644 --- a/app/views/desktop/co_author_relations/_form.html.erb +++ b/app/views/desktop/co_author_relations/_form.html.erb @@ -1,4 +1,5 @@ -<%= form_for(@new_relation , url: desktop_co_author_relations_path, html:{"form-type"=>"ajax_form", "callback-method"=>"coauthorRelationForm"} ) do |f| %> - <%= f.text_field :relation %> - <%= f.submit "Save" %> +<%= f.text_field :relation, class: "ini_input" %> +<%= f.submit "Save", class: "ini_input hp hh2 thmtxt thmc2", style: "margin-left: 10px;" %> +<% if not @co_author_relation.new_record? %> + <%= submit_tag "Cancel", :type => "button", class: "bt-cancel-type ini_input hp hh2 thmtxt" %> <% end %> diff --git a/app/views/desktop/co_author_relations/_new.html.erb b/app/views/desktop/co_author_relations/_new.html.erb new file mode 100644 index 00000000..fc0d0891 --- /dev/null +++ b/app/views/desktop/co_author_relations/_new.html.erb @@ -0,0 +1,3 @@ +<%= form_for(@co_author_relation, url: desktop_co_author_relations_path, html:{"form-type"=>"ajax_form", "callback-method"=>"coauthorRelationForm"} ) do |f| %> + <%= render partial: 'desktop/co_author_relations/form' , locals: {:f => f}%> +<% end %> diff --git a/app/views/desktop/co_author_relations/_show_form.html.erb b/app/views/desktop/co_author_relations/_show_form.html.erb index 28ded992..a5d931a0 100644 --- a/app/views/desktop/co_author_relations/_show_form.html.erb +++ b/app/views/desktop/co_author_relations/_show_form.html.erb @@ -1,6 +1,17 @@ -<%# @co_author_relations.each do |co_author_relation| %> - - <%= show_form.relation %> - <%= link_to 'Destroy', desktop_co_author_relation_path(show_form), confirm: 'Are you sure?', method: :delete, :class=>"bt-delete" %> - -<%# end %> + <% @co_author_relations.each_with_index do |co_author_relation,i| %> + <% if ( i % 6 ) == 0 %> +
    +
      + <% end %> +
    • +
      <%= co_author_relation.relation %>
      +
      + <%= link_to 'Edit', edit_desktop_co_author_relation_path(co_author_relation), :class => "bt-edit-type admbg2 admtxt" %> + <%= link_to 'Destroy', desktop_co_author_relation_path(co_author_relation), confirm: 'Are you sure?', method: :delete, :class=>"bt-delete admbg2 admtxt" %> +
      +
    • + <% if ( i % 6 ) == 5 %> +
    +
    + <% end %> + <% end %> \ No newline at end of file diff --git a/app/views/desktop/co_author_relations/edit.html.erb b/app/views/desktop/co_author_relations/edit.html.erb new file mode 100644 index 00000000..0132d45b --- /dev/null +++ b/app/views/desktop/co_author_relations/edit.html.erb @@ -0,0 +1,3 @@ +<%= form_for(@co_author_relation, url: desktop_co_author_relation_path(@co_author_relation), html:{"form-type"=>"ajax_form", "callback-method"=>"coauthorRelationEditForm"} ) do |f| %> + <%= render partial: 'desktop/co_author_relations/form' , locals: {:f => f}%> +<% end %> diff --git a/app/views/desktop/co_author_relations/index.html.erb b/app/views/desktop/co_author_relations/index.html.erb index 106418ac..d8b4451a 100644 --- a/app/views/desktop/co_author_relations/index.html.erb +++ b/app/views/desktop/co_author_relations/index.html.erb @@ -1,17 +1,22 @@ -

    Listing co_author_relations

    +
    +
    +
    +
    Create
    +
    +
      +
    • <%= render 'new' %>
    • +
    +
    +
    + <%= submit_tag "Back", :type => "button", class: "bt-cancel fn_btn ini_input hp hh2 thmtxt" %> +
    +
    -<%= submit_tag "Back", class: "bt-cancel fn_btn hh2 thmc2 thmtxt" %> -<%= render 'form' %> - - - - - - - - - - - <%= render :partial => 'show_form', :collection => @co_author_relations %> - -
    Relation
    +
    +
    +
    +
    + <%= render :partial => 'show_form'%> +
    +
    +
    diff --git a/app/views/desktop/co_authors/_form.html.erb b/app/views/desktop/co_authors/_form.html.erb index b087be95..7780b807 100644 --- a/app/views/desktop/co_authors/_form.html.erb +++ b/app/views/desktop/co_authors/_form.html.erb @@ -1,28 +1,28 @@ -
    - <%= f.submit "Save", name: "commit", value: "Save", class: "fn_btn hh2 thmc2 thmtxt" %> - <%= submit_tag "Cancel", class: "bt-cancel fn_btn hh2 thmc2 thmtxt" %> +
    +
    + <%= f.submit "Save", name: "commit", value: "Save", class: "fn_btn ini_input hp hh2 thmc2 thmtxt" %> + <%= submit_tag "Cancel", :type => "button", class: "bt-cancel fn_btn ini_input hp hh2 thmtxt" %> +
    - -
    -
      +
      +
      • - <%= f.label :co_author %>
        - <%= f.text_field :co_author %> + <%= f.label :co_author, class: "s_grid s_grid_2" %> + <%= f.text_field :co_author, class: "s_grid s_grid_4" %>
      • -
      • - <%= f.label :email %>
        - <%= f.text_field :email %> + <%= f.label :email, class: "s_grid s_grid_2"%> + <%= f.text_field :email, class: "s_grid s_grid_4" %>
      • - - - <%= f.label :type%>
        - +
      • + <%= f.label :type, class: "s_grid s_grid_2"%> +
      +
      \ No newline at end of file diff --git a/app/views/desktop/co_authors/index.html.erb b/app/views/desktop/co_authors/index.html.erb index b01b2569..9881e2bd 100644 --- a/app/views/desktop/co_authors/index.html.erb +++ b/app/views/desktop/co_authors/index.html.erb @@ -1,28 +1,34 @@ -

      list all coauthor

      -<%= link_to "New Co-Author", new_desktop_co_author_path, :class=>"bt-co-author" %> -<%= link_to "New Type", desktop_co_author_relations_path, :class=>"bt-new-type" %> - - - - - - - - - - - - -<% @co_authors.each do |co_author| %> - - - - - - - -<% end %> - -
      NameEMailType
      <%= co_author.co_author %><%= co_author.email %><%= @co_author_relations.find(co_author.co_author_relations_id).relation \ - unless co_author.co_author_relations_id.nil?%><%= link_to 'Edit', edit_desktop_co_author_path(co_author), :class => "bt-edit" %><%= link_to 'Destroy', desktop_co_author_path(co_author), method: :delete, confirm: 'Are you sure?', :class=>"bt-delete" %>
      -
      +
      +
      + <%= link_to "New Co-Author", new_desktop_co_author_path, :class=>"bt-co-author fn_btn hp hh2 thmc2 thmtxt" %> + <%= link_to "New Type", desktop_co_author_relations_path, :class=>"bt-new-type fn_btn hp hh2 thmc2 thmtxt" %> +
      +
      +
      +
      +
      +
      + <% @co_authors.each_with_index do |co_author,i| %> + <% if ( i % 4 ) == 0 %> +
      +
        + <% end %> +
      • +
          +
        • <%= co_author.co_author %>
        • +
        • +
        • <%= @co_author_relations.find(co_author.co_author_relations_id).relation unless co_author.co_author_relations_id.nil?%>
        • +
        +
        + <%= link_to 'Edit', edit_desktop_co_author_path(co_author), :class => "bt-edit admbg2 admtxt" %> + <%= link_to 'Destroy', desktop_co_author_path(co_author), method: :delete, confirm: 'Are you sure?', :class=>"bt-delete admbg2 admtxt" %> +
        +
      • + <% if ( i % 4 ) == 3 %> +
      +
      + <% end %> + <% end %> +
      +
      +
      diff --git a/app/views/desktop/desktop.html.erb b/app/views/desktop/desktop.html.erb old mode 100755 new mode 100644 diff --git a/app/views/desktop/index.html.erb b/app/views/desktop/index.html.erb old mode 100755 new mode 100644 index c90f53fd..3559dc35 --- a/app/views/desktop/index.html.erb +++ b/app/views/desktop/index.html.erb @@ -4,7 +4,7 @@
    • Home
      • App Manager
      • -
      • All Sections
      • +
      • All Sections
      • Settings
    • diff --git a/app/views/desktop/journal_lists/_form.html.erb b/app/views/desktop/journal_lists/_form.html.erb deleted file mode 100644 index ac7f7ac6..00000000 --- a/app/views/desktop/journal_lists/_form.html.erb +++ /dev/null @@ -1,17 +0,0 @@ -<%= form_for(@desktop_journal_list) do |f| %> - <% if @desktop_journal_list.errors.any? %> -
      -

      <%= pluralize(@desktop_journal_list.errors.count, "error") %> prohibited this desktop_journal_list from being saved:

      - -
        - <% @desktop_journal_list.errors.full_messages.each do |msg| %> -
      • <%= msg %>
      • - <% end %> -
      -
      - <% end %> - -
      - <%= f.submit %> -
      -<% end %> diff --git a/app/views/desktop/journal_lists/edit.html.erb b/app/views/desktop/journal_lists/edit.html.erb deleted file mode 100644 index d628e895..00000000 --- a/app/views/desktop/journal_lists/edit.html.erb +++ /dev/null @@ -1,6 +0,0 @@ -

      Editing desktop_journal_list

      - -<%= render 'form' %> - -<%= link_to 'Show', @desktop_journal_list %> | -<%= link_to 'Back', desktop_journal_lists_path %> diff --git a/app/views/desktop/journal_lists/index.html.erb b/app/views/desktop/journal_lists/index.html.erb index fad6ca66..44c8ab9f 100644 --- a/app/views/desktop/journal_lists/index.html.erb +++ b/app/views/desktop/journal_lists/index.html.erb @@ -1,24 +1,40 @@ -

      journal_title -- journal_level

      - -
      -
      -
      -
      - - <% @journal_lists.each_with_index do |journal_list,i| %> - <% if ( i % 5 ) == 0 %> -
      -
        +
        +
        +
        Share
        +
        + +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        + <% @journal_lists.each_with_index do |journal_list,i| %> + <% if ( i % 5 ) == 0 %> +
        +
          + <% end %> +
        • +
          + +
          + <% title, level = journal_list %> +
          <%= title %>
          +
          <%= level.join(",") %>
          +
        • + <% if ( i % 5 ) == 4 %> +
        +
        + <% end %> <% end %> -
      • - <%= journal_list %> -
      • - <% if ( i % 5 ) == 4 %> -
      -
      - <% end %> - <% end %> -
      diff --git a/app/views/desktop/journal_lists/new.html.erb b/app/views/desktop/journal_lists/new.html.erb deleted file mode 100644 index 95017361..00000000 --- a/app/views/desktop/journal_lists/new.html.erb +++ /dev/null @@ -1,5 +0,0 @@ -

      New desktop_journal_list

      - -<%= render 'form' %> - -<%= link_to 'Back', desktop_journal_lists_path %> diff --git a/app/views/desktop/journal_lists/show.html.erb b/app/views/desktop/journal_lists/show.html.erb deleted file mode 100644 index d454b78f..00000000 --- a/app/views/desktop/journal_lists/show.html.erb +++ /dev/null @@ -1,5 +0,0 @@ -

      <%= notice %>

      - - -<%= link_to 'Edit', edit_desktop_journal_list_path(@desktop_journal_list) %> | -<%= link_to 'Back', desktop_journal_lists_path %> diff --git a/app/views/desktop/journal_pages/_form.html.erb b/app/views/desktop/journal_pages/_form.html.erb index 3a513034..de144196 100644 --- a/app/views/desktop/journal_pages/_form.html.erb +++ b/app/views/desktop/journal_pages/_form.html.erb @@ -1,33 +1,28 @@
      - <%= f.submit "Save", name: "commit", value: "Save", class: "fn_btn hh2 thmc2 thmtxt" %> + <%= f.submit "Save", name: "commit", value: "Save", class: "fn_btn ini_input hp hh2 thmc2 thmtxt" %> <% if not @writing_journal.new_record? %> - <%= submit_tag "Cancel", :type => "button", class: "bt-cancel fn_btn hh2 thmc2 thmtxt" %> + <%= submit_tag "Cancel", :type => "button", class: "bt-cancel ini_input hp hh2 thmadm thmtxt" %> <% end %>
      -
      +
      Language
      -
      +
    -->
    Share
    @@ -74,15 +69,6 @@
    @@ -106,10 +92,6 @@
  • <%= label_tag("", "Pages", class: "s_grid_2 s_grid") %><%= label_tag("", "from", class: "s_grid_1 s_grid") %><%= f.text_field :form_to_start, size: "10", placeholder: "1", class: "s_grid_1 s_grid"%><%= label_tag("", "to", class: "s_grid_1 s_grid") %><%= f.text_field :form_to_end, size: "10", placeholder: "20", class: "s_grid_1 s_grid"%>
  • - -
  • - <%= label_tag("", "Reference URL", class: "s_grid_2 s_grid") %><%= f.text_field :url, size: "20", placeholder: "www.sample.com", class: "s_grid_4 s_grid"%> -
  • @@ -138,28 +120,21 @@ %> - -
      -
    • - <%= label_tag("", "Date of Publication", class: "s_grid_4 s_grid") %> -
    • -
    • - <%= f.date_select :publication_date, {:use_month_numbers => true, :start_year => Time.now.year, :end_year => 1930, :order => [:year, :month, :day] }, {:class => 's_grid_2 s_grid'} %> -
    • -
    - - +
  • + <%= label_tag("", "Date of Publication", class: "s_grid_3 s_grid") %> + <%= f.date_select :publication_date, {:use_month_numbers => true, :start_year => Time.now.year, :end_year => 1930, :order => [:year, :month, :day] }, {:class => 's_grid_1 s_grid'} %> +
  • <%= f.text_field :keywords, size: "20", value: @writing_journal.keywords ||= "Keywords", class: "s_grid_6 s_grid"%>
  • -
    <%= f.label :year ,:class => "s_grid_2 s_grid" %>
    -
    <%= select_year((@writing_journal.year ? @writing_journal.year.to_i : DateTime.now.year), {:start_year => DateTime.now.year, :end_year => 1930}, {:name => 'writing_journal[year]', :class => "s_grid_4 s_grid"} ) %>
    + <%= f.label :year ,:class => "s_grid_2 s_grid" %> + <%= select_year((@writing_journal.year ? @writing_journal.year.to_i : DateTime.now.year), {:start_year => DateTime.now.year, :end_year => 1930}, {:name => 'writing_journal[year]', :class => "s_grid_4 s_grid"} ) %>
  • -
    <%= f.label :language ,:class => "s_grid_2 s_grid" %>
    + <%= f.label :language ,:class => "s_grid_2 s_grid" %> - - - - - + +
  • +
  • + <%= label_tag("", "Reference URL", class: "s_grid_2 s_grid") %><%= f.text_field :url, size: "20", placeholder: "www.sample.com", class: "s_grid_4 s_grid"%>
  • -
    • - +
      - - - + + + - @@ -216,15 +193,16 @@
      +
      • - <%= f.text_area :note, size: "20x2", placeholder: "Note", class: "s_grid_6 s_grid"%> + <%= f.text_area :note, size: "20x22", placeholder: "Note", class: "s_grid_6 s_grid full_height"%>
      • - <%= f.text_area :abstract, size: "20x26", placeholder: "Abstract", class: "s_grid_6 s_grid"%> + <%= f.text_area :abstract, size: "20x22", placeholder: "Abstract", class: "s_grid_6 s_grid full_height"%>
      @@ -248,6 +226,7 @@ newfield.find('.action a.delete').click(function(){ newfield.remove(); }); + return false; }); $('.action a.remove_existing_record').click(function(){ diff --git a/app/views/desktop/journal_pages/_form_file.html.erb b/app/views/desktop/journal_pages/_form_file.html.erb index afba08b7..010e4f1d 100644 --- a/app/views/desktop/journal_pages/_form_file.html.erb +++ b/app/views/desktop/journal_pages/_form_file.html.erb @@ -1,12 +1,11 @@ " class="list_item"> diff --git a/app/views/desktop/settings.html.erb b/app/views/desktop/settings.html.erb index 590f4e89..eecd9f4a 100644 --- a/app/views/desktop/settings.html.erb +++ b/app/views/desktop/settings.html.erb @@ -9,8 +9,8 @@
        -
      • Overview
      • -
      • Account
      • +
      • Overview
      • +
      • Account
      • Sections
      • Theme
      • Connection
      • diff --git a/app/views/devise/registrations/edit.html.erb b/app/views/devise/registrations/edit.html.erb index 9ec8721d..2cedcb00 100644 --- a/app/views/devise/registrations/edit.html.erb +++ b/app/views/devise/registrations/edit.html.erb @@ -1,14 +1,18 @@ +
        +
        Password Managment
        + <%= form_for(resource, :as => resource_name, :url => users_passwd_path(resource_name), :html => { :method => :put, "form-type"=>"ajax_form" ,"callback-method"=>"passwordUpdate" }) do |f| %> +
          +
        • <%= f.label :current_password %> + <%= f.password_field :current_password %>
        • -<%= form_for(resource, :as => resource_name, :url => users_passwd_path(resource_name), :html => { :method => :put, "form-type"=>"ajax_form" ,"callback-method"=>"passwordUpdate" }) do |f| %> -
          <%= f.submit "Update" %>
          +
        • <%= f.label :password %> + <%= f.password_field :password %>
        • -
          <%= f.label :current_password %> - <%= f.password_field :current_password %>
          +
        • <%= f.label :password_confirmation %> + <%= f.password_field :password_confirmation %>
        • +
        +
        <%= f.submit "Update", :class => "setting_btn thmc1 thmtxt w1 hh2 hp" %>
        -
        <%= f.label :password %> - <%= f.password_field :password %>
        + <% end %> +
        -
        <%= f.label :password_confirmation %>
        - <%= f.password_field :password_confirmation %>
        - -<% end %> diff --git a/app/views/layouts/_side_bar_content.html.erb b/app/views/layouts/_side_bar_content.html.erb index a0909e69..f5d54d9b 100644 --- a/app/views/layouts/_side_bar_content.html.erb +++ b/app/views/layouts/_side_bar_content.html.erb @@ -44,7 +44,7 @@ <% end -%> <%= content_tag :li, :class => active_for_controllers('albums','album_images','gallery_categories','/panel/gallery/back_end/tags') || active_for_app_auth("gallery") do -%> - <%= link_to content_tag(:i, nil, :class => 'icons-pictures') + content_tag(:span, t(:gallery)), panel_gallery_back_end_albums_path %> + <%= link_to content_tag(:i, nil, :class => 'icons-pictures') + content_tag(:span, t("gallery.gallery")), panel_gallery_back_end_albums_path %> <%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('albums') ) do -%> <%= content_tag(:li, link_to((t('gallery.categories') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_gallery_back_end_gallery_categories_path), :class => active_for_action('gallery_categories','index') )if (is_manager? rescue nil)%> <%= content_tag :li, link_to((t('gallery.tags') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_gallery_back_end_tags_path), :class => active_for_action('/panel/gallery/back_end/tags', 'index') if (is_manager? rescue nil) %> @@ -63,7 +63,7 @@ <% end -%> <%= content_tag :li, :class => active_for_controllers('cals','panel/calendar/back_end/tags') || active_for_app_auth("calendar") do -%> - <%= link_to content_tag(:i, nil, :class => 'icons-calendar') + content_tag(:span, t(:calendar)), panel_calendar_back_end_cals_path %> + <%= link_to content_tag(:i, nil, :class => 'icons-calendar') + content_tag(:span, t("calendar.calendar")), panel_calendar_back_end_cals_path %> <%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('cals','calendar_categories') ) do -%> <%= content_tag :li, link_to((t('calendar.calendars') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, new_panel_calendar_back_end_cal_path), :class => active_for_action('cals','new') if (is_manager? rescue nil)%> <%= content_tag :li, link_to(t(:tags), panel_calendar_back_end_tags_path), :class => active_for_action('/panel/calendar/back_end/tags', 'index')if (is_manager? rescue nil) %> diff --git a/app/views/shared/attribute_field/_attribute_field.html.erb b/app/views/shared/attribute_field/_attribute_field.html.erb index 5f28cd03..30623fbe 100644 --- a/app/views/shared/attribute_field/_attribute_field.html.erb +++ b/app/views/shared/attribute_field/_attribute_field.html.erb @@ -1,24 +1,29 @@
        + <% + attribute_field.af_count ? @af_counter = attribute_field_counter + attribute_field.af_count : @af_counter = attribute_field_counter + %> + <%= @af_counter %> + <%#= attribute_field_counter %> - <%= hidden_field "info[attribute_fields][#{attribute_field_counter}]","disabled",:value=>attribute_field.disabled,:class=>"attribute_field_disabled"%> - <%= hidden_field "info[attribute_fields][#{attribute_field_counter}]","to_delete",:value=>false,:class=>"attribute_field_to_delete"%> + <%= hidden_field "info[attribute_fields][#{@af_counter}]","disabled",:value=>attribute_field.disabled,:class=>"attribute_field_disabled"%> + <%= hidden_field "info[attribute_fields][#{@af_counter}]","to_delete",:value=>false,:class=>"attribute_field_to_delete"%> <%= t(:delete_)%>
        - <%= text_field "info[attribute_fields][#{attribute_field_counter}]","key",:value=>attribute_field.key%> + <%= text_field "info[attribute_fields][#{@af_counter}]","key",:value=>attribute_field.key%>
        - <%= render :partial=>"shared/attribute_field/placeholder_block",:locals=>{:values=>attribute_field.title_translations,:class_ext=>"pull-left",:label_ext=>t(:name),:field_name=>"info[attribute_fields][#{attribute_field_counter}][title_translations]"}%> + <%= render :partial=>"shared/attribute_field/placeholder_block",:locals=>{:values=>attribute_field.title_translations,:class_ext=>"pull-left",:label_ext=>t(:name),:field_name=>"info[attribute_fields][#{@af_counter}][title_translations]"}%>
        - <%#= select_tag "info[attribute_fields][#{attribute_field_counter}][markup]" do %> - > <%LIST[:markups].each do |key,val|%> <% end %> @@ -33,25 +38,25 @@
        - <%= render :partial=>"shared/attribute_field/placeholder_block",:locals=>{:values=>attribute_field["typeA"]["placeholder"],:field_name=>"info[attribute_fields][#{attribute_field_counter}][typeA][placeholder]"}%> + <%= render :partial=>"shared/attribute_field/placeholder_block",:locals=>{:values=>attribute_field["typeA"]["placeholder"],:field_name=>"info[attribute_fields][#{@af_counter}][typeA][placeholder]"}%> <% end %> <%= content_tag :div,:class=>show_type_panel(attribute_field,"typeB") do %> - <%= render :partial=>"shared/attribute_field/placeholder_block",:locals=>{:label_ext=>t(:initial),:values=>attribute_field["typeB"]["initial"],:field_name=>"info[attribute_fields][#{attribute_field_counter}][typeB][initial]"}%> + <%= render :partial=>"shared/attribute_field/placeholder_block",:locals=>{:label_ext=>t(:initial),:values=>attribute_field["typeB"]["initial"],:field_name=>"info[attribute_fields][#{@af_counter}][typeB][initial]"}%> <% if attribute_field.self_defined_markup_options?%> - <%= render :partial=>"shared/attribute_field/list_block",:locals=>{:values=>attribute_field["option_list"],:field_name=> "info[attribute_fields][#{attribute_field_counter}][attribute][role][statuses]"} %> + <%= render :partial=>"shared/attribute_field/list_block",:locals=>{:values=>attribute_field["option_list"],:field_name=> "info[attribute_fields][#{@af_counter}][attribute][role][statuses]"} %> <%else #normal list%> - <%= render :partial=>"shared/attribute_field/list_block",:locals=>{:values=>attribute_field["option_list"],:field_name=> "info[attribute_fields][#{attribute_field_counter}][typeB][option_list]"} %> + <%= render :partial=>"shared/attribute_field/list_block",:locals=>{:values=>attribute_field["option_list"],:field_name=> "info[attribute_fields][#{@af_counter}][typeB][option_list]"} %> <% end #of self_defined_markup_options?%> <% end %> @@ -59,17 +64,17 @@
        - <%= select "info[attribute_fields][#{attribute_field_counter}][typeC]","format",Admin::AttributeValuesViewHelper::OPT,:class=>"dataType",:selected=>attribute_field["typeC"]["format"] %> + <%= select "info[attribute_fields][#{@af_counter}][typeC]","format",Admin::AttributeValuesViewHelper::OPT,:class=>"dataType",:selected=>attribute_field["typeC"]["format"] %>
        @@ -77,10 +82,10 @@
        @@ -90,16 +95,16 @@
        - <%= render :partial=>"shared/attribute_field/placeholder_block",:locals=>{:field_name=>"info[attribute_fields][#{attribute_field_counter}][typeD][placeholder]",:values=>attribute_field["typeD"]["placeholder"]} %> + <%= render :partial=>"shared/attribute_field/placeholder_block",:locals=>{:field_name=>"info[attribute_fields][#{@af_counter}][typeD][placeholder]",:values=>attribute_field["typeD"]["placeholder"]} %> <% end %> <%= content_tag :div,:class=>show_type_panel(attribute_field,"typeE") do%> - <%= render :partial=>"shared/attribute_field/list_block",:locals=>{:field_name=>"info[attribute_fields][#{attribute_field_counter}][typeE][option_list]",:values=>attribute_field["option_list"]}%> + <%= render :partial=>"shared/attribute_field/list_block",:locals=>{:field_name=>"info[attribute_fields][#{@af_counter}][typeE][option_list]",:values=>attribute_field["option_list"]}%> <% end %>
        - <%= hidden_field "info[attribute_fields][#{attribute_field_counter}]","id",:value=>attribute_field.id%> + <%= hidden_field "info[attribute_fields][#{@af_counter}]","id",:value=>attribute_field.id%>
      diff --git a/config/application.rb b/config/application.rb index 0898a2e6..9c4b7a78 100644 --- a/config/application.rb +++ b/config/application.rb @@ -53,6 +53,7 @@ module Orbit # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] # config.i18n.default_locale = :de + config.i18n.load_path += Dir[Rails.root.join('vendor', 'built_in_modules', '*', 'config', 'locales', '*.{rb,yml}').to_s] config.i18n.default_locale = :zh_tw # JavaScript files you want as :defaults (application.js is always included). diff --git a/config/locales/en.yml b/config/locales/en.yml index 77e034ee..8dea5eb3 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -148,6 +148,7 @@ en: web_link: Link dashboard_: Dashboard deadline: Deadline + default: Default default_css: Default CSS delete: file: Delete file diff --git a/config/locales/zh_tw.yml b/config/locales/zh_tw.yml index 341be345..c8075b24 100644 --- a/config/locales/zh_tw.yml +++ b/config/locales/zh_tw.yml @@ -148,6 +148,7 @@ zh_tw: web_link: 鏈接 dashboard_: 儀表版 deadline: 最後期限 + default: Default default_css: 預設樣式表 delete: file: 刪除檔案 diff --git a/config/routes.rb b/config/routes.rb index 2a9d98fc..cae07963 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -112,6 +112,7 @@ Orbit::Application.routes.draw do get 'install_app' end member do + get 'buy_template' get 'download' end end @@ -127,6 +128,7 @@ Orbit::Application.routes.draw do get 'sitemap_toggle', :on => :member get 'system_info' get 'ui_theme' + get 'change_design' end resources :tags resources :users @@ -137,14 +139,14 @@ Orbit::Application.routes.draw do end resources :member_selects do - match 'member_select_search' => "member_selects#member_select_search" ,:as => :member_select_search,:via => "post" - match 'member_select_add' => "member_selects#member_select_add" ,:as => :member_select_add,:via => "post" - end + match 'member_select_search' => "member_selects#member_select_search" ,:as => :member_select_search,:via => "post" + match 'member_select_add' => "member_selects#member_select_add" ,:as => :member_select_add,:via => "post" + end - match 'module_store' => 'module_store#index' - match 'module_store/show' => 'module_store#show' - match 'template_store' => 'template_store#index' - match 'template_store/show' => 'template_store#show' + match 'module_store' => 'module_store#index' + match 'module_store/show' => 'module_store#show' + match 'template_store' => 'template_store#index' + match 'template_store/template/:id' => 'template_store#show', :as => :template_store_template end # end admin @@ -166,7 +168,7 @@ Orbit::Application.routes.draw do match '/journal_pages/get_journals_json' => 'journal_pages#get_journals_json' match '/desktop'=>'desktop#desktop' match '/app_manager'=>'desktop#app_manager' - match '/sections'=>'desktop#sections' + match '/allsections'=>'desktop#allsections' match '/settings'=>'desktop#settings' match '/get_desktop_settings/'=>'desktop#get_desktop_settings' match '/save_desktop_settings/'=>'desktop#save_desktop_settings' @@ -180,10 +182,10 @@ Orbit::Application.routes.draw do match '/widget_layout' => 'desktop#widget_layout' match '/temp_func/'=>'desktop#temp_func' - resources :journal_pages - resources :journal_lists - resources :co_authors - resources :co_author_relations + resources :journal_pages, except: :show + resources :journal_lists, only: :index + resources :co_authors, except: :show + resources :co_author_relations, except: :show end # namespace :desktop_publications do diff --git a/db/files/1.png b/db/files/1.png new file mode 100644 index 00000000..13112718 Binary files /dev/null and b/db/files/1.png differ diff --git a/db/files/2.png b/db/files/2.png new file mode 100644 index 00000000..4e80d728 Binary files /dev/null and b/db/files/2.png differ diff --git a/db/files/3.png b/db/files/3.png new file mode 100644 index 00000000..88291d35 Binary files /dev/null and b/db/files/3.png differ diff --git a/db/files/4.png b/db/files/4.png new file mode 100644 index 00000000..4e80d728 Binary files /dev/null and b/db/files/4.png differ diff --git a/db/files/5.pdf b/db/files/5.pdf new file mode 100644 index 00000000..b2c1a099 Binary files /dev/null and b/db/files/5.pdf differ diff --git a/db/files/6.pdf b/db/files/6.pdf new file mode 100644 index 00000000..c94c4b26 Binary files /dev/null and b/db/files/6.pdf differ diff --git a/db/files/7.pdf b/db/files/7.pdf new file mode 100644 index 00000000..91ac612a Binary files /dev/null and b/db/files/7.pdf differ diff --git a/db/seeds.rb b/db/seeds.rb index 9c90554c..07a19519 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -1,104 +1,27 @@ require 'factory_girl' require 'faker' -require 'json' -CoAuthor.destroy_all CoAuthorRelation.destroy_all +CoAuthor.destroy_all +JournalLevelType.destroy_all +WritingJournalFile.destroy_all WritingJournal.destroy_all +#Dir[Rails.root.join("spec/factories/*.rb")].each {|f| require f} -data = File.read("db/data") -data_json = JSON.parse(data) - -name_tw = Array.new 51,"" -name_tw = name_tw.map do |p| Faker::Name::name end -name_en = Array.new 51,"" -name_en = name_en.map do |p| Faker::Name::name end - -email = Array.new 51,"" -email= email.map do |p| Faker::Internet.email end - -type = ["friend0", "teacher0", "student0", "mate0", "relation0", "friend1", "teacher1", "student1", "mate1", "relation1"] - -FactoryGirl.define do - factory(:type, class: "CoAuthorRelation") do |f| - f.sequence(:relation_translations) do |n| - { zh_tw: "#{type[n%type.size]}", - en: "#{type[n%type.size]}" } - end - end - - factory(:co_author_candidate, class: "CoAuthor") do |f| - - f.sequence(:co_author_translations) do |n| - { zh_tw: "#{name_tw[n]}", - en: "#{name_en[n]}" } - end - f.sequence(:type) do |n| "#{type[n%5]}" end - f.sequence(:email) do |n| "#{email[n]}" end - f.name_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account - end - - factory :paper_record, class: "WritingJournal" do |f| - f.sequence(:paper_title_translations) do |n| - { zh_tw: "tw_#{data_json[n]["paper_title"]}", - en: "en_#{data_json[n]["paper_title"]}" } - end - - f.sequence(:journal_title_translations) do |n| - {zh_tw: "tw_#{data_json[n]["booktitle"]}", - en: "en_#{data_json[n]["booktitle"]}"} - end - - f.sequence(:abstract) do |n| - "#{data_json[n]["abstract"]}" - end - - f.sequence(:isbn) do |n| - "#{data_json[n]["isbn"]}" - end - - f.sequence(:year) do |n| - "#{data_json[n]["year"]}" - end - - f.sequence(:authors) do |n| - "#{data_json[n]["author"].map{|m| m.split(",").reverse.join(" ")}.join(",")}" - end - - f.sequence(:form_to_start) do |n| - "#{data_json[n]["page_from"]}" - end - - f.sequence(:form_to_end) do |n| - "#{data_json[n]["page_to"]}" - end - - f.sequence(:total_pages) do |n| - "#{data_json[n]["total_page"]}" - end - - f.sequence(:language) do |n| - "#{data_json[n]["language"]}" - end - - f.sequence(:keywords) do |n| - "#{data_json[n]["abstract"].split[-3..-1].join(",")}" - end - - f.create_user_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account - f.update_user_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account - end +10.times do + FactoryGirl.create(:journal_level) end -10.times.each do - FactoryGirl.create(:type) +10.times do + FactoryGirl.create(:relations) end -50.times.each do +50.times do FactoryGirl.create(:paper_record) end -50.times.each do +50.times do FactoryGirl.create(:co_author_candidate) end +puts "Success!" diff --git a/out b/out new file mode 100644 index 00000000..07ad27e1 --- /dev/null +++ b/out @@ -0,0 +1,1015 @@ + users_passwd PUT /users_passwd(.:format) {:controller=>"desktop/registrations", :action=>"update"} + new_user_session GET /users/sign_in(.:format) {:action=>"new", :controller=>"devise/sessions"} + user_session POST /users/sign_in(.:format) {:action=>"create", :controller=>"devise/sessions"} + destroy_user_session GET /users/sign_out(.:format) {:action=>"destroy", :controller=>"devise/sessions"} + user_password POST /users/password(.:format) {:action=>"create", :controller=>"devise/passwords"} + new_user_password GET /users/password/new(.:format) {:action=>"new", :controller=>"devise/passwords"} + edit_user_password GET /users/password/edit(.:format) {:action=>"edit", :controller=>"devise/passwords"} + PUT /users/password(.:format) {:action=>"update", :controller=>"devise/passwords"} + cancel_user_registration GET /users/cancel(.:format) {:action=>"cancel", :controller=>"devise/registrations"} + user_registration POST /users(.:format) {:action=>"create", :controller=>"devise/registrations"} + new_user_registration GET /users/sign_up(.:format) {:action=>"new", :controller=>"devise/registrations"} + edit_user_registration GET /users/edit(.:format) {:action=>"edit", :controller=>"devise/registrations"} + PUT /users(.:format) {:action=>"update", :controller=>"devise/registrations"} + DELETE /users(.:format) {:action=>"destroy", :controller=>"devise/registrations"} + resque_server /admin/resque {:to=>Resque::Server} + site_set_registered /site/set_registered(.:format) {:to=>CentralServerExchangeApp} + site_public_key /site/public_key(.:format) {:to=>CentralServerExchangeApp} + site_update /site/update(.:format) {:to=>GithubApp} + /purchase/:type(.:format) {:to=>CentralServerExchangeApp} + load_orbit_bar /load_orbit_bar(.:format) {:action=>"load_orbit_bar", :controller=>"pages"} + /admin/resque {:to=>#>, @realm=nil, @authenticator=#>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :xss_mode=>:block, :except=>[:session_hijacking, :remote_token]}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :except=>[:session_hijacking, :remote_token]}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :except=>[:session_hijacking, :remote_token]}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :except=>[:session_hijacking, :remote_token]}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :xss_mode=>:block, :frame_options=>:sameorigin, :except=>[:session_hijacking, :remote_token]}>>>, @template=#\\n\\n\\n \\n \"\n\n\n\n; _erbout.concat((h exception.class ).to_s); _erbout.concat \" at \"; _erbout.concat((h path ).to_s); _erbout.concat \"\\n\\n \\n\\n\\n\\n\\n
      \\n
      \\n \\\"application\\n
      \\n

      \"\n\n; _erbout.concat((h exception.class ).to_s); _erbout.concat \" at \"; _erbout.concat((h path ).to_s); _erbout.concat \"\\n

      \\n

      \"\n\n; _erbout.concat((h exception.message ).to_s); _erbout.concat \"

      \\n
        \\n
      • file: \\n \"\n\n\n; _erbout.concat((h frames.first.filename.split(\"/\").last ).to_s); _erbout.concat \"
      • \\n
      • location: \"\n; _erbout.concat((h frames.first.function ).to_s); _erbout.concat \"\\n
      • \\n
      • line:\\n \"\n\n\n; _erbout.concat((h frames.first.lineno ).to_s); _erbout.concat \"
      • \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n

      BACKTRACE

      \\n

      (expand)

      \\n

      JUMP TO:\\n GET\\n POST\\n COOKIES\\n ENV\\n

      \\n
      \\n\\n
        \\n\\n \"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n; id = 1 ; _erbout.concat \"\\n \"\n; frames.each do |frame| ; _erbout.concat \"\\n \"\n; if frame.context_line && frame.context_line != \"#\" ; _erbout.concat \"\\n\\n
      • \\n \"\n; _erbout.concat((h frame.filename ).to_s); _erbout.concat \" in\\n \"\n; _erbout.concat((h frame.function ).to_s); _erbout.concat \"\\n
      • \\n\\n
      • \\n \"\n; if frame.pre_context ; _erbout.concat \"\\n
          \\n \"\n; frame.pre_context.each do |line| ; _erbout.concat \"\\n
        1. \"\n; _erbout.concat((h line ).to_s); _erbout.concat \"
        2. \\n \"\n; end ; _erbout.concat \"\\n
        \\n \"\n\n; end ; _erbout.concat \"\\n\\n
          \\n
        1. \"; _erbout.concat((\n h frame.context_line ).to_s); _erbout.concat \"
        2. \\n
        \\n\\n \"\n\n\n; if frame.post_context ; _erbout.concat \"\\n
          \\n \"\n; frame.post_context.each do |line| ; _erbout.concat \"\\n
        1. \"\n; _erbout.concat((h line ).to_s); _erbout.concat \"
        2. \\n \"\n; end ; _erbout.concat \"\\n
        \\n \"\n\n; end ; _erbout.concat \"\\n
        \\n
      • \\n\\n \"\n\n\n\n; end ; _erbout.concat \"\\n\\n \"\n\n; id += 1 ; _erbout.concat \"\\n \"\n; end ; _erbout.concat \"\\n\\n
      \\n
      \\n\\n
      \\n

      GET

      \\n \"\n\n\n\n\n\n\n; if req.GET and not req.GET.empty? ; _erbout.concat \"\\n
      FileFile NameFileFile NameAction
      -
      +
      +
      <%= hidden_field_tag 'plugin_file_field_count', @writing_journal.writing_journal_files.count %> - add + add
      - <%= f.file_field :file, class: "s_grid_1 s_grid" %> - <%= form_file.file.file ? ( link_to t(:view), form_file.file.url, {:class => 'btn s_grid_1 s_grid', :target => '_blank', :title => t(:view)} ) : '' %> + <%= f.file_field :file, class: "s_grid_2 s_grid" %>
      - <%= f.text_field :title, :class=>'s_grid_1 s_grid' %> + <%= f.text_field :title, :class=>'s_grid_3 s_grid' %> @@ -18,6 +17,7 @@ <%= f.hidden_field :should_destroy, :value => nil, :class => 'should_destroy' %> <% end %> + <%= form_file.file.file ? ( link_to '', form_file.file.url, {:class => 'icon-eye-open', :target => '_blank', :title => t(:view)} ) : '' %>
      \\n \\n \\n \\n \\n \"\n\n\n\n\n\n; req.GET.sort_by { |k, v| k.to_s }.each { |key, val| ; _erbout.concat \"\\n \\n \\n \\n \\n \"\n\n; } ; _erbout.concat \"\\n
      VariableValue
      \"\n\n; _erbout.concat((h key ).to_s); _erbout.concat \"
      \"\n; _erbout.concat((h val.inspect ).to_s); _erbout.concat \"
      \\n \"\n\n; else ; _erbout.concat \"\\n

      No GET data.

      \\n \"\n\n; end ; _erbout.concat \"\\n
      \\n
    \\n\\n
    \\n

    POST

    \\n \"\n\n\n\n\n\n; if req.POST and not req.POST.empty? ; _erbout.concat \"\\n \\n \\n \\n \\n \\n \"\n\n\n\n\n\n; req.POST.sort_by { |k, v| k.to_s }.each { |key, val| ; _erbout.concat \"\\n \\n \\n \\n \\n \"\n\n; } ; _erbout.concat \"\\n
    VariableValue
    \"\n\n; _erbout.concat((h key ).to_s); _erbout.concat \"
    \"\n; _erbout.concat((h val.inspect ).to_s); _erbout.concat \"
    \\n \"\n\n; else ; _erbout.concat \"\\n

    No POST data.

    \\n \"\n\n; end ; _erbout.concat \"\\n
    \\n
    \\n\\n
    \\n

    COOKIES

    \\n \"\n\n\n\n\n\n; unless req.cookies.empty? ; _erbout.concat \"\\n \\n \\n \\n \\n \\n \"\n\n\n\n\n\n; req.cookies.each { |key, val| ; _erbout.concat \"\\n \\n \\n \\n \\n \"\n\n; } ; _erbout.concat \"\\n
    VariableValue
    \"\n\n; _erbout.concat((h key ).to_s); _erbout.concat \"
    \"\n; _erbout.concat((h val.inspect ).to_s); _erbout.concat \"
    \\n \"\n\n; else ; _erbout.concat \"\\n

    No cookie data.

    \\n \"\n\n; end ; _erbout.concat \"\\n
    \\n
    \\n\\n
    \\n

    Rack ENV

    \\n \\n \\n \\n \\n \\n \"\n\n\n\n\n\n\n\n\n\n\n; env.sort_by { |k, v| k.to_s }.each { |key, val| ; _erbout.concat \"\\n \\n \\n \\n \\n \"\n\n; } ; _erbout.concat \"\\n
    VariableValue
    \"\n\n; _erbout.concat((h key ).to_s); _erbout.concat \"
    \"\n; _erbout.concat((h val ).to_s); _erbout.concat \"
    \\n
    \\n
    \\n\\n

    You're seeing this error because you have\\nenabled the show_exceptions setting.

    \\n
    \\n \\n\\n\"\n\n\n\n\n\n\n\n\n\n; _erbout.force_encoding(__ENCODING__)", @enc=#, @filename=nil>>>} + file_upload_admin_assets GET /admin/assets/file_upload(.:format) {:action=>"file_upload", :controller=>"admin/assets"} + delete_admin_assets GET /admin/assets/delete(.:format) {:action=>"delete", :controller=>"admin/assets"} + admin_assets GET /admin/assets(.:format) {:action=>"index", :controller=>"admin/assets"} + POST /admin/assets(.:format) {:action=>"create", :controller=>"admin/assets"} + new_admin_asset GET /admin/assets/new(.:format) {:action=>"new", :controller=>"admin/assets"} + edit_admin_asset GET /admin/assets/:id/edit(.:format) {:action=>"edit", :controller=>"admin/assets"} + admin_asset GET /admin/assets/:id(.:format) {:action=>"show", :controller=>"admin/assets"} + PUT /admin/assets/:id(.:format) {:action=>"update", :controller=>"admin/assets"} + DELETE /admin/assets/:id(.:format) {:action=>"destroy", :controller=>"admin/assets"} + admin_asset_categories GET /admin/asset_categories(.:format) {:action=>"index", :controller=>"admin/asset_categories"} + POST /admin/asset_categories(.:format) {:action=>"create", :controller=>"admin/asset_categories"} + new_admin_asset_category GET /admin/asset_categories/new(.:format) {:action=>"new", :controller=>"admin/asset_categories"} + edit_admin_asset_category GET /admin/asset_categories/:id/edit(.:format) {:action=>"edit", :controller=>"admin/asset_categories"} + admin_asset_category GET /admin/asset_categories/:id(.:format) {:action=>"show", :controller=>"admin/asset_categories"} + PUT /admin/asset_categories/:id(.:format) {:action=>"update", :controller=>"admin/asset_categories"} + DELETE /admin/asset_categories/:id(.:format) {:action=>"destroy", :controller=>"admin/asset_categories"} + admin_asset_tags GET /admin/asset_tags(.:format) {:action=>"index", :controller=>"admin/asset_tags"} + POST /admin/asset_tags(.:format) {:action=>"create", :controller=>"admin/asset_tags"} + new_admin_asset_tag GET /admin/asset_tags/new(.:format) {:action=>"new", :controller=>"admin/asset_tags"} + edit_admin_asset_tag GET /admin/asset_tags/:id/edit(.:format) {:action=>"edit", :controller=>"admin/asset_tags"} + admin_asset_tag GET /admin/asset_tags/:id(.:format) {:action=>"show", :controller=>"admin/asset_tags"} + PUT /admin/asset_tags/:id(.:format) {:action=>"update", :controller=>"admin/asset_tags"} + DELETE /admin/asset_tags/:id(.:format) {:action=>"destroy", :controller=>"admin/asset_tags"} + admin_app_auths GET /admin/app_auths(.:format) {:action=>"index", :controller=>"admin/app_auths"} + POST /admin/app_auths(.:format) {:action=>"create", :controller=>"admin/app_auths"} + new_admin_app_auth GET /admin/app_auths/new(.:format) {:action=>"new", :controller=>"admin/app_auths"} + edit_admin_app_auth GET /admin/app_auths/:id/edit(.:format) {:action=>"edit", :controller=>"admin/app_auths"} + admin_app_auth GET /admin/app_auths/:id(.:format) {:action=>"show", :controller=>"admin/app_auths"} + PUT /admin/app_auths/:id(.:format) {:action=>"update", :controller=>"admin/app_auths"} + DELETE /admin/app_auths/:id(.:format) {:action=>"destroy", :controller=>"admin/app_auths"} + admin_object_auth_init_ob_auth GET /admin/object_auths/:object_auth_id/new_interface/:ob_type/:title/new(.:format) {:controller=>"admin/object_auths_new_interface", :action=>"new"} + admin_object_auth_ob_auth GET /admin/object_auths/:object_auth_id/new_interface(.:format) {:action=>"setting", :controller=>"admin/object_auths_new_interface"} + admin_object_auth_ob_auth POST /admin/object_auths/:object_auth_id/new_interface(.:format) {:action=>"update_setting", :controller=>"admin/object_auths_new_interface"} + admin_object_auth_ob_auth_show PUT /admin/object_auths/:object_auth_id/new_interface(.:format) {:action=>"user_list", :controller=>"admin/object_auths_new_interface"} + init_admin_object_auths GET /admin/object_auths/new/:type/:obj_id(.:format) {:action=>"new", :controller=>"admin/object_auths"} + create_role_admin_object_auth POST /admin/object_auths/:id/:id/create_role(.:format) {:action=>"create_role", :controller=>"admin/object_auths"} + remove_admin_object_auth DELETE /admin/object_auths/:id/remove/:type/:target_id(.:format) {:action=>"remove_role", :controller=>"admin/object_auths"} + admin_object_auths GET /admin/object_auths(.:format) {:action=>"index", :controller=>"admin/object_auths"} + POST /admin/object_auths(.:format) {:action=>"create", :controller=>"admin/object_auths"} + new_admin_object_auth GET /admin/object_auths/new(.:format) {:action=>"new", :controller=>"admin/object_auths"} + edit_admin_object_auth GET /admin/object_auths/:id/edit(.:format) {:action=>"edit", :controller=>"admin/object_auths"} + admin_object_auth GET /admin/object_auths/:id(.:format) {:action=>"show", :controller=>"admin/object_auths"} + PUT /admin/object_auths/:id(.:format) {:action=>"update", :controller=>"admin/object_auths"} + DELETE /admin/object_auths/:id(.:format) {:action=>"destroy", :controller=>"admin/object_auths"} + admin_realtime_preview_ad_banner PUT /admin/ad_banners/:id/preview(.:format) {:controller=>"admin/ad_banners", :action=>"realtime_preview"} + admin_rename_ad_banner POST /admin/ad_banners/:id/rename(.:format) {:controller=>"admin/ad_banners", :action=>"rename"} + new_ad_image_admin_ad_banners GET /admin/ad_banners/new_ad_image(.:format) {:action=>"new", :controller=>"admin/ad_images"} + create_ad_image_admin_ad_banners POST /admin/ad_banners/new_ad_image(.:format) {:action=>"create", :controller=>"admin/ad_images"} + admin_ad_banner_ad_images POST /admin/ad_banners/:ad_banner_id/ad_images(.:format) {:action=>"create", :controller=>"admin/ad_images"} + new_admin_ad_banner_ad_image GET /admin/ad_banners/:ad_banner_id/ad_images/new(.:format) {:action=>"new", :controller=>"admin/ad_images"} + edit_admin_ad_banner_ad_image GET /admin/ad_banners/:ad_banner_id/ad_images/:id/edit(.:format) {:action=>"edit", :controller=>"admin/ad_images"} + admin_ad_banner_ad_image PUT /admin/ad_banners/:ad_banner_id/ad_images/:id(.:format) {:action=>"update", :controller=>"admin/ad_images"} + DELETE /admin/ad_banners/:ad_banner_id/ad_images/:id(.:format) {:action=>"destroy", :controller=>"admin/ad_images"} + admin_ad_banners GET /admin/ad_banners(.:format) {:action=>"index", :controller=>"admin/ad_banners"} + POST /admin/ad_banners(.:format) {:action=>"create", :controller=>"admin/ad_banners"} + new_admin_ad_banner GET /admin/ad_banners/new(.:format) {:action=>"new", :controller=>"admin/ad_banners"} + edit_admin_ad_banner GET /admin/ad_banners/:id/edit(.:format) {:action=>"edit", :controller=>"admin/ad_banners"} + admin_ad_banner GET /admin/ad_banners/:id(.:format) {:action=>"show", :controller=>"admin/ad_banners"} + PUT /admin/ad_banners/:id(.:format) {:action=>"update", :controller=>"admin/ad_banners"} + DELETE /admin/ad_banners/:id(.:format) {:action=>"destroy", :controller=>"admin/ad_banners"} + admin_dashboards GET /admin/dashboards(.:format) {:action=>"index", :controller=>"admin/dashboards"} + POST /admin/dashboards(.:format) {:action=>"create", :controller=>"admin/dashboards"} + new_admin_dashboard GET /admin/dashboards/new(.:format) {:action=>"new", :controller=>"admin/dashboards"} + edit_admin_dashboard GET /admin/dashboards/:id/edit(.:format) {:action=>"edit", :controller=>"admin/dashboards"} + admin_dashboard GET /admin/dashboards/:id(.:format) {:action=>"show", :controller=>"admin/dashboards"} + PUT /admin/dashboards/:id(.:format) {:action=>"update", :controller=>"admin/dashboards"} + DELETE /admin/dashboards/:id(.:format) {:action=>"destroy", :controller=>"admin/dashboards"} + upload_package_admin_designs GET /admin/designs/upload_package(.:format) {:action=>"upload_package", :controller=>"admin/designs"} + delete_admin_designs GET /admin/designs/delete(.:format) {:action=>"delete", :controller=>"admin/designs"} + POST /admin/designs/upload_package(.:format) {:action=>"upload_package", :controller=>"admin/designs"} + edit_file_admin_design POST /admin/designs/:id/edit_file(.:format) {:action=>"edit_file", :controller=>"admin/designs"} + update_file_admin_design POST /admin/designs/:id/update_file(.:format) {:action=>"update_file", :controller=>"admin/designs"} + upload_image_admin_design POST /admin/designs/:id/upload_image(.:format) {:action=>"upload_image", :controller=>"admin/designs"} + admin_designs GET /admin/designs(.:format) {:action=>"index", :controller=>"admin/designs"} + POST /admin/designs(.:format) {:action=>"create", :controller=>"admin/designs"} + new_admin_design GET /admin/designs/new(.:format) {:action=>"new", :controller=>"admin/designs"} + edit_admin_design GET /admin/designs/:id/edit(.:format) {:action=>"edit", :controller=>"admin/designs"} + admin_design GET /admin/designs/:id(.:format) {:action=>"show", :controller=>"admin/designs"} + PUT /admin/designs/:id(.:format) {:action=>"update", :controller=>"admin/designs"} + DELETE /admin/designs/:id(.:format) {:action=>"destroy", :controller=>"admin/designs"} + admin_info_add_attribute_field GET /admin/infos/:info_id/add_attribute_field(.:format) {:action=>"add_attribute_field", :controller=>"admin/infos"} + admin_infos GET /admin/infos(.:format) {:action=>"index", :controller=>"admin/infos"} + POST /admin/infos(.:format) {:action=>"create", :controller=>"admin/infos"} + new_admin_info GET /admin/infos/new(.:format) {:action=>"new", :controller=>"admin/infos"} + edit_admin_info GET /admin/infos/:id/edit(.:format) {:action=>"edit", :controller=>"admin/infos"} + admin_info GET /admin/infos/:id(.:format) {:action=>"show", :controller=>"admin/infos"} + PUT /admin/infos/:id(.:format) {:action=>"update", :controller=>"admin/infos"} + DELETE /admin/infos/:id(.:format) {:action=>"destroy", :controller=>"admin/infos"} + admin_items GET /admin/items(.:format) {:action=>"index", :controller=>"admin/items"} + POST /admin/items(.:format) {:action=>"create", :controller=>"admin/items"} + new_admin_item GET /admin/items/new(.:format) {:action=>"new", :controller=>"admin/items"} + edit_admin_item GET /admin/items/:id/edit(.:format) {:action=>"edit", :controller=>"admin/items"} + admin_item GET /admin/items/:id(.:format) {:action=>"show", :controller=>"admin/items"} + PUT /admin/items/:id(.:format) {:action=>"update", :controller=>"admin/items"} + DELETE /admin/items/:id(.:format) {:action=>"destroy", :controller=>"admin/items"} + admin_update_position /admin/update_position(.:format) {:action=>"update_position", :controller=>"admin/items"} + delete_admin_link GET /admin/links/:id/delete(.:format) {:action=>"delete", :controller=>"admin/links"} + admin_links GET /admin/links(.:format) {:action=>"index", :controller=>"admin/links"} + POST /admin/links(.:format) {:action=>"create", :controller=>"admin/links"} + new_admin_link GET /admin/links/new(.:format) {:action=>"new", :controller=>"admin/links"} + edit_admin_link GET /admin/links/:id/edit(.:format) {:action=>"edit", :controller=>"admin/links"} + admin_link GET /admin/links/:id(.:format) {:action=>"show", :controller=>"admin/links"} + PUT /admin/links/:id(.:format) {:action=>"update", :controller=>"admin/links"} + DELETE /admin/links/:id(.:format) {:action=>"destroy", :controller=>"admin/links"} + delete_admin_page GET /admin/pages/:id/delete(.:format) {:action=>"delete", :controller=>"admin/pages"} + reload_themes_admin_page GET /admin/pages/:id/reload_themes(.:format) {:action=>"reload_themes", :controller=>"admin/pages"} + admin_pages GET /admin/pages(.:format) {:action=>"index", :controller=>"admin/pages"} + POST /admin/pages(.:format) {:action=>"create", :controller=>"admin/pages"} + new_admin_page GET /admin/pages/new(.:format) {:action=>"new", :controller=>"admin/pages"} + edit_admin_page GET /admin/pages/:id/edit(.:format) {:action=>"edit", :controller=>"admin/pages"} + admin_page GET /admin/pages/:id(.:format) {:action=>"show", :controller=>"admin/pages"} + PUT /admin/pages/:id(.:format) {:action=>"update", :controller=>"admin/pages"} + DELETE /admin/pages/:id(.:format) {:action=>"destroy", :controller=>"admin/pages"} + admin_module_app_manager_auth_proc GET /admin/module_apps/:module_app_id/manager_auth_proc(.:format) {:action=>"setting", :controller=>"admin/module_apps_new_interface"} + admin_module_app_manager_auth_proc POST /admin/module_apps/:module_app_id/manager_auth_proc(.:format) {:action=>"update_setting", :controller=>"admin/module_apps_new_interface"} + admin_module_app_manager_auth_show PUT /admin/module_apps/:module_app_id/manager_auth_proc(.:format) {:action=>"user_list", :controller=>"admin/module_apps_new_interface"} + remove_admin_module_app_app_auth DELETE /admin/module_apps/:module_app_id/app_auths/:id/remove/:type/:target_id(.:format) {:action=>"remove", :controller=>"admin/app_auths"} + admin_module_app_app_auths GET /admin/module_apps/:module_app_id/app_auths(.:format) {:action=>"index", :controller=>"admin/app_auths"} + POST /admin/module_apps/:module_app_id/app_auths(.:format) {:action=>"create", :controller=>"admin/app_auths"} + new_admin_module_app_app_auth GET /admin/module_apps/:module_app_id/app_auths/new(.:format) {:action=>"new", :controller=>"admin/app_auths"} + edit_admin_module_app_app_auth GET /admin/module_apps/:module_app_id/app_auths/:id/edit(.:format) {:action=>"edit", :controller=>"admin/app_auths"} + admin_module_app_app_auth GET /admin/module_apps/:module_app_id/app_auths/:id(.:format) {:action=>"show", :controller=>"admin/app_auths"} + PUT /admin/module_apps/:module_app_id/app_auths/:id(.:format) {:action=>"update", :controller=>"admin/app_auths"} + DELETE /admin/module_apps/:module_app_id/app_auths/:id(.:format) {:action=>"destroy", :controller=>"admin/app_auths"} + assign_manager_admin_module_app POST /admin/module_apps/:id/assign_manager(.:format) {:action=>"assign_manager", :controller=>"admin/module_apps"} + assign_sub_manager_admin_module_app POST /admin/module_apps/:id/assign_sub_manager(.:format) {:action=>"assign_sub_manager", :controller=>"admin/module_apps"} + remove_manager_admin_module_app DELETE /admin/module_apps/:id/remove_manager/:app_manager_id(.:format) {:action=>"remove_manager", :controller=>"admin/module_apps"} + remove_sub_manager_admin_module_app DELETE /admin/module_apps/:id/remove_sub_manager/:app_sub_manager_id(.:format) {:action=>"remove_sub_manager", :controller=>"admin/module_apps"} + reload_frontend_pages_admin_module_app GET /admin/module_apps/:id/reload_frontend_pages(.:format) {:action=>"reload_frontend_pages", :controller=>"admin/module_apps"} + admin_module_apps GET /admin/module_apps(.:format) {:action=>"index", :controller=>"admin/module_apps"} + POST /admin/module_apps(.:format) {:action=>"create", :controller=>"admin/module_apps"} + new_admin_module_app GET /admin/module_apps/new(.:format) {:action=>"new", :controller=>"admin/module_apps"} + edit_admin_module_app GET /admin/module_apps/:id/edit(.:format) {:action=>"edit", :controller=>"admin/module_apps"} + admin_module_app GET /admin/module_apps/:id(.:format) {:action=>"show", :controller=>"admin/module_apps"} + PUT /admin/module_apps/:id(.:format) {:action=>"update", :controller=>"admin/module_apps"} + DELETE /admin/module_apps/:id(.:format) {:action=>"destroy", :controller=>"admin/module_apps"} + reload_widgets_admin_page_part GET /admin/page_parts/:id/reload_widgets(.:format) {:action=>"reload_widgets", :controller=>"admin/page_parts"} + reload_widget_styles_admin_page_part GET /admin/page_parts/:id/reload_widget_styles(.:format) {:action=>"reload_widget_styles", :controller=>"admin/page_parts"} + reload_r_tag_options_admin_page_part GET /admin/page_parts/:id/reload_r_tag_options(.:format) {:action=>"reload_r_tag_options", :controller=>"admin/page_parts"} + admin_page_parts GET /admin/page_parts(.:format) {:action=>"index", :controller=>"admin/page_parts"} + POST /admin/page_parts(.:format) {:action=>"create", :controller=>"admin/page_parts"} + new_admin_page_part GET /admin/page_parts/new(.:format) {:action=>"new", :controller=>"admin/page_parts"} + edit_admin_page_part GET /admin/page_parts/:id/edit(.:format) {:action=>"edit", :controller=>"admin/page_parts"} + admin_page_part GET /admin/page_parts/:id(.:format) {:action=>"show", :controller=>"admin/page_parts"} + PUT /admin/page_parts/:id(.:format) {:action=>"update", :controller=>"admin/page_parts"} + DELETE /admin/page_parts/:id(.:format) {:action=>"destroy", :controller=>"admin/page_parts"} + admin_plugins GET /admin/plugins(.:format) {:action=>"index", :controller=>"admin/plugins"} + POST /admin/plugins(.:format) {:action=>"create", :controller=>"admin/plugins"} + new_admin_plugin GET /admin/plugins/new(.:format) {:action=>"new", :controller=>"admin/plugins"} + edit_admin_plugin GET /admin/plugins/:id/edit(.:format) {:action=>"edit", :controller=>"admin/plugins"} + admin_plugin GET /admin/plugins/:id(.:format) {:action=>"show", :controller=>"admin/plugins"} + PUT /admin/plugins/:id(.:format) {:action=>"update", :controller=>"admin/plugins"} + DELETE /admin/plugins/:id(.:format) {:action=>"destroy", :controller=>"admin/plugins"} + install_app_admin_purchases GET /admin/purchases/install_app(.:format) {:action=>"install_app", :controller=>"admin/purchases"} + download_admin_purchase GET /admin/purchases/:id/download(.:format) {:action=>"download", :controller=>"admin/purchases"} + admin_purchases GET /admin/purchases(.:format) {:action=>"index", :controller=>"admin/purchases"} + POST /admin/purchases(.:format) {:action=>"create", :controller=>"admin/purchases"} + new_admin_purchase GET /admin/purchases/new(.:format) {:action=>"new", :controller=>"admin/purchases"} + edit_admin_purchase GET /admin/purchases/:id/edit(.:format) {:action=>"edit", :controller=>"admin/purchases"} + admin_purchase GET /admin/purchases/:id(.:format) {:action=>"show", :controller=>"admin/purchases"} + PUT /admin/purchases/:id(.:format) {:action=>"update", :controller=>"admin/purchases"} + DELETE /admin/purchases/:id(.:format) {:action=>"destroy", :controller=>"admin/purchases"} + admin_role_add_sub_role GET /admin/roles/:role_id/add_sub_role(.:format) {:action=>"add_sub_role", :controller=>"admin/roles"} + admin_role_add_attribute_field GET /admin/roles/:role_id/add_attribute_field(.:format) {:action=>"add_attribute_field", :controller=>"admin/roles"} + admin_roles GET /admin/roles(.:format) {:action=>"index", :controller=>"admin/roles"} + POST /admin/roles(.:format) {:action=>"create", :controller=>"admin/roles"} + new_admin_role GET /admin/roles/new(.:format) {:action=>"new", :controller=>"admin/roles"} + edit_admin_role GET /admin/roles/:id/edit(.:format) {:action=>"edit", :controller=>"admin/roles"} + admin_role GET /admin/roles/:id(.:format) {:action=>"show", :controller=>"admin/roles"} + PUT /admin/roles/:id(.:format) {:action=>"update", :controller=>"admin/roles"} + DELETE /admin/roles/:id(.:format) {:action=>"destroy", :controller=>"admin/roles"} + admin_site_mail_setting GET /admin/sites/:site_id/mail_setting(.:format) {:action=>"mail_setting", :controller=>"admin/sites"} + admin_site_site_info GET /admin/sites/:site_id/site_info(.:format) {:action=>"site_info", :controller=>"admin/sites"} + admin_site_sitemap GET /admin/sites/:site_id/sitemap(.:format) {:action=>"sitemap", :controller=>"admin/sites"} + admin_site_sitemap_frontend GET /admin/sites/:site_id/sitemap_frontend(.:format) {:action=>"sitemap_frontend", :controller=>"admin/sites"} + sitemap_toggle_admin_site GET /admin/sites/:id/sitemap_toggle(.:format) {:action=>"sitemap_toggle", :controller=>"admin/sites"} + admin_site_system_info GET /admin/sites/:site_id/system_info(.:format) {:action=>"system_info", :controller=>"admin/sites"} + admin_site_ui_theme GET /admin/sites/:site_id/ui_theme(.:format) {:action=>"ui_theme", :controller=>"admin/sites"} + admin_sites GET /admin/sites(.:format) {:action=>"index", :controller=>"admin/sites"} + POST /admin/sites(.:format) {:action=>"create", :controller=>"admin/sites"} + new_admin_site GET /admin/sites/new(.:format) {:action=>"new", :controller=>"admin/sites"} + edit_admin_site GET /admin/sites/:id/edit(.:format) {:action=>"edit", :controller=>"admin/sites"} + admin_site GET /admin/sites/:id(.:format) {:action=>"show", :controller=>"admin/sites"} + PUT /admin/sites/:id(.:format) {:action=>"update", :controller=>"admin/sites"} + DELETE /admin/sites/:id(.:format) {:action=>"destroy", :controller=>"admin/sites"} + admin_tags GET /admin/tags(.:format) {:action=>"index", :controller=>"admin/tags"} + POST /admin/tags(.:format) {:action=>"create", :controller=>"admin/tags"} + new_admin_tag GET /admin/tags/new(.:format) {:action=>"new", :controller=>"admin/tags"} + edit_admin_tag GET /admin/tags/:id/edit(.:format) {:action=>"edit", :controller=>"admin/tags"} + admin_tag GET /admin/tags/:id(.:format) {:action=>"show", :controller=>"admin/tags"} + PUT /admin/tags/:id(.:format) {:action=>"update", :controller=>"admin/tags"} + DELETE /admin/tags/:id(.:format) {:action=>"destroy", :controller=>"admin/tags"} + admin_users GET /admin/users(.:format) {:action=>"index", :controller=>"admin/users"} + POST /admin/users(.:format) {:action=>"create", :controller=>"admin/users"} + new_admin_user GET /admin/users/new(.:format) {:action=>"new", :controller=>"admin/users"} + edit_admin_user GET /admin/users/:id/edit(.:format) {:action=>"edit", :controller=>"admin/users"} + admin_user GET /admin/users/:id(.:format) {:action=>"show", :controller=>"admin/users"} + PUT /admin/users/:id(.:format) {:action=>"update", :controller=>"admin/users"} + DELETE /admin/users/:id(.:format) {:action=>"destroy", :controller=>"admin/users"} + temp_edit_admin_users_new_interface GET /admin/users_new_interface/:id/temp_edit(.:format) {:action=>"temp_edit", :controller=>"admin/users_new_interface"} + admin_users_new_interface_index GET /admin/users_new_interface(.:format) {:action=>"index", :controller=>"admin/users_new_interface"} + POST /admin/users_new_interface(.:format) {:action=>"create", :controller=>"admin/users_new_interface"} + new_admin_users_new_interface GET /admin/users_new_interface/new(.:format) {:action=>"new", :controller=>"admin/users_new_interface"} + edit_admin_users_new_interface GET /admin/users_new_interface/:id/edit(.:format) {:action=>"edit", :controller=>"admin/users_new_interface"} + admin_users_new_interface GET /admin/users_new_interface/:id(.:format) {:action=>"show", :controller=>"admin/users_new_interface"} + PUT /admin/users_new_interface/:id(.:format) {:action=>"update", :controller=>"admin/users_new_interface"} + DELETE /admin/users_new_interface/:id(.:format) {:action=>"destroy", :controller=>"admin/users_new_interface"} + admin_member_select_member_select_search POST /admin/member_selects/:member_select_id/member_select_search(.:format) {:action=>"member_select_search", :controller=>"admin/member_selects"} + admin_member_select_member_select_add POST /admin/member_selects/:member_select_id/member_select_add(.:format) {:action=>"member_select_add", :controller=>"admin/member_selects"} + admin_member_selects GET /admin/member_selects(.:format) {:action=>"index", :controller=>"admin/member_selects"} + POST /admin/member_selects(.:format) {:action=>"create", :controller=>"admin/member_selects"} + new_admin_member_select GET /admin/member_selects/new(.:format) {:action=>"new", :controller=>"admin/member_selects"} + edit_admin_member_select GET /admin/member_selects/:id/edit(.:format) {:action=>"edit", :controller=>"admin/member_selects"} + admin_member_select GET /admin/member_selects/:id(.:format) {:action=>"show", :controller=>"admin/member_selects"} + PUT /admin/member_selects/:id(.:format) {:action=>"update", :controller=>"admin/member_selects"} + DELETE /admin/member_selects/:id(.:format) {:action=>"destroy", :controller=>"admin/member_selects"} + admin_module_store /admin/module_store(.:format) {:action=>"index", :controller=>"admin/module_store"} + admin_module_store_show /admin/module_store/show(.:format) {:controller=>"admin/module_store", :action=>"show"} + admin_template_store /admin/template_store(.:format) {:action=>"index", :controller=>"admin/template_store"} + admin_template_store_show /admin/template_store/show(.:format) {:controller=>"admin/template_store", :action=>"show"} + panel_users GET /panel/users(.:format) {:action=>"index", :controller=>"panel/users"} + POST /panel/users(.:format) {:action=>"create", :controller=>"panel/users"} + new_panel_user GET /panel/users/new(.:format) {:action=>"new", :controller=>"panel/users"} + edit_panel_user GET /panel/users/:id/edit(.:format) {:action=>"edit", :controller=>"panel/users"} + panel_user GET /panel/users/:id(.:format) {:action=>"show", :controller=>"panel/users"} + PUT /panel/users/:id(.:format) {:action=>"update", :controller=>"panel/users"} + DELETE /panel/users/:id(.:format) {:action=>"destroy", :controller=>"panel/users"} + upload_desktop_widgets GET /desktop_widgets/upload(.:format) {:action=>"upload", :controller=>"desktop_widgets"} + delete_desktop_widgets GET /desktop_widgets/delete(.:format) {:action=>"delete", :controller=>"desktop_widgets"} + POST /desktop_widgets/upload(.:format) {:action=>"upload", :controller=>"desktop_widgets"} + desktop_widgets GET /desktop_widgets(.:format) {:action=>"index", :controller=>"desktop_widgets"} + POST /desktop_widgets(.:format) {:action=>"create", :controller=>"desktop_widgets"} + new_desktop_widget GET /desktop_widgets/new(.:format) {:action=>"new", :controller=>"desktop_widgets"} + edit_desktop_widget GET /desktop_widgets/:id/edit(.:format) {:action=>"edit", :controller=>"desktop_widgets"} + desktop_widget GET /desktop_widgets/:id(.:format) {:action=>"show", :controller=>"desktop_widgets"} + PUT /desktop_widgets/:id(.:format) {:action=>"update", :controller=>"desktop_widgets"} + DELETE /desktop_widgets/:id(.:format) {:action=>"destroy", :controller=>"desktop_widgets"} + desktop /desktop(.:format) {:action=>"index", :controller=>"desktop"} + desktop_desktop /desktop/desktop(.:format) {:action=>"desktop", :controller=>"desktop/desktop"} + desktop_journal_pages_get_journals_json /desktop/journal_pages/get_journals_json(.:format) {:controller=>"desktop/journal_pages", :action=>"get_journals_json"} + /desktop/desktop(.:format) {:controller=>"desktop/desktop", :action=>"desktop"} + desktop_app_manager /desktop/app_manager(.:format) {:controller=>"desktop/desktop", :action=>"app_manager"} + desktop_sections /desktop/sections(.:format) {:controller=>"desktop/desktop", :action=>"sections"} + desktop_settings /desktop/settings(.:format) {:controller=>"desktop/desktop", :action=>"settings"} + desktop_get_desktop_settings /desktop/get_desktop_settings(.:format) {:controller=>"desktop/desktop", :action=>"get_desktop_settings"} + desktop_save_desktop_settings /desktop/save_desktop_settings(.:format) {:controller=>"desktop/desktop", :action=>"save_desktop_settings"} + desktop_getgroups /desktop/getgroups(.:format) {:controller=>"desktop/desktop", :action=>"getgroups"} + desktop_getsectionlist /desktop/getsectionlist(.:format) {:controller=>"desktop/desktop", :action=>"getsectionlist"} + desktop_themes /desktop/themes(.:format) {:controller=>"desktop/desktop", :action=>"themes"} + /desktop/sections(.:format) {:controller=>"desktop/desktop", :action=>"sections"} + desktop_getapplist /desktop/getapplist(.:format) {:controller=>"desktop/desktop", :action=>"getapplist"} + desktop_newpositions /desktop/newpositions(.:format) {:controller=>"desktop/desktop", :action=>"newpositions"} + desktop_connections /desktop/connections(.:format) {:controller=>"desktop/desktop", :action=>"connections"} + desktop_widget_layout /desktop/widget_layout(.:format) {:controller=>"desktop/desktop", :action=>"widget_layout"} + desktop_temp_func /desktop/temp_func(.:format) {:controller=>"desktop/desktop", :action=>"temp_func"} + desktop_journal_pages GET /desktop/journal_pages(.:format) {:action=>"index", :controller=>"desktop/journal_pages"} + POST /desktop/journal_pages(.:format) {:action=>"create", :controller=>"desktop/journal_pages"} + new_desktop_journal_page GET /desktop/journal_pages/new(.:format) {:action=>"new", :controller=>"desktop/journal_pages"} + edit_desktop_journal_page GET /desktop/journal_pages/:id/edit(.:format) {:action=>"edit", :controller=>"desktop/journal_pages"} + desktop_journal_page PUT /desktop/journal_pages/:id(.:format) {:action=>"update", :controller=>"desktop/journal_pages"} + DELETE /desktop/journal_pages/:id(.:format) {:action=>"destroy", :controller=>"desktop/journal_pages"} + desktop_journal_lists GET /desktop/journal_lists(.:format) {:action=>"index", :controller=>"desktop/journal_lists"} + desktop_co_authors GET /desktop/co_authors(.:format) {:action=>"index", :controller=>"desktop/co_authors"} + POST /desktop/co_authors(.:format) {:action=>"create", :controller=>"desktop/co_authors"} + new_desktop_co_author GET /desktop/co_authors/new(.:format) {:action=>"new", :controller=>"desktop/co_authors"} + edit_desktop_co_author GET /desktop/co_authors/:id/edit(.:format) {:action=>"edit", :controller=>"desktop/co_authors"} + desktop_co_author PUT /desktop/co_authors/:id(.:format) {:action=>"update", :controller=>"desktop/co_authors"} + DELETE /desktop/co_authors/:id(.:format) {:action=>"destroy", :controller=>"desktop/co_authors"} + desktop_co_author_relations GET /desktop/co_author_relations(.:format) {:action=>"index", :controller=>"desktop/co_author_relations"} + POST /desktop/co_author_relations(.:format) {:action=>"create", :controller=>"desktop/co_author_relations"} + new_desktop_co_author_relation GET /desktop/co_author_relations/new(.:format) {:action=>"new", :controller=>"desktop/co_author_relations"} + edit_desktop_co_author_relation GET /desktop/co_author_relations/:id/edit(.:format) {:action=>"edit", :controller=>"desktop/co_author_relations"} + desktop_co_author_relation PUT /desktop/co_author_relations/:id(.:format) {:action=>"update", :controller=>"desktop/co_author_relations"} + DELETE /desktop/co_author_relations/:id(.:format) {:action=>"destroy", :controller=>"desktop/co_author_relations"} + desktop_publications_journal_p /desktop_publications/journal_p(.:format) {:controller=>"desktop_publications", :action=>"journal_p"} + desktop_publications_books /desktop_publications/books(.:format) {:controller=>"desktop_publications", :action=>"books"} + desktop_publications_books_list /desktop_publications/books_list(.:format) {:controller=>"desktop_publications", :action=>"books_list"} + desktop_publications_books_add /desktop_publications/books_add(.:format) {:controller=>"desktop_publications", :action=>"books_add"} + desktop_publications_seminar_p /desktop_publications/seminar_p(.:format) {:controller=>"desktop_publications", :action=>"seminar_p"} + desktop_publications_seminar_p_list /desktop_publications/seminar_p_list(.:format) {:controller=>"desktop_publications", :action=>"seminar_p_list"} + desktop_publications_seminar_p_add /desktop_publications/seminar_p_add(.:format) {:controller=>"desktop_publications", :action=>"seminar_p_add"} + desktop_research_research_d /desktop_research/research_d(.:format) {:controller=>"desktop_research", :action=>"research_d"} + desktop_research_research_d_list /desktop_research/research_d_list(.:format) {:controller=>"desktop_research", :action=>"research_d_list"} + desktop_research_research_d_add /desktop_research/research_d_add(.:format) {:controller=>"desktop_research", :action=>"research_d_add"} + desktop_research_research_p /desktop_research/research_p(.:format) {:controller=>"desktop_research", :action=>"research_p"} + desktop_research_research_p_list /desktop_research/research_p_list(.:format) {:controller=>"desktop_research", :action=>"research_p_list"} + desktop_research_research_p_add /desktop_research/research_p_add(.:format) {:controller=>"desktop_research", :action=>"research_p_add"} + twitter /twitter(.:format) {:controller=>"otheraccounts", :action=>"twitter"} + forgmail /forgmail(.:format) {:controller=>"otheraccounts", :action=>"gmail"} + otheraccounts_getaccounts /otheraccounts/getaccounts(.:format) {:controller=>"otheraccounts", :action=>"getaccounts"} + save_account_info /save_account_info(.:format) {:controller=>"otheraccounts", :action=>"saveaccountinfo"} + desktop_appstore_appstore /desktop_appstore/appstore(.:format) {:controller=>"desktop_appstore", :action=>"appstore"} + desktop_appstore_onlinestore /desktop_appstore/onlinestore(.:format) {:controller=>"desktop_appstore", :action=>"onlinestore"} + desktop_appstore_widgets /desktop_appstore/widgets(.:format) {:controller=>"desktop_appstore", :action=>"widgets"} + desktop_appstore_getuserwidgets /desktop_appstore/getuserwidgets(.:format) {:controller=>"desktop_appstore", :action=>"getuserwidgets"} + desktop_appstore_widgets_settings /desktop_appstore/widgets_settings(.:format) {:controller=>"desktop_appstore", :action=>"widgets_settings"} + desktop_orbit_orbit /desktop_orbit/orbit(.:format) {:controller=>"desktop_orbit", :action=>"orbit"} + desktop_orbit_eventajaxload /desktop_orbit/eventajaxload(.:format) {:controller=>"desktop_orbit", :action=>"eventajaxload"} + desktop_orbit_gettimelinespan /desktop_orbit/gettimelinespan(.:format) {:controller=>"desktop_orbit", :action=>"gettimelinespan"} + /panel/:app_name/front_end/:app_action/:id(/:controller_action)(.:format) {:controller=>"pages", :action=>"show_from_link"} + /panel/:app_name/front_end/:app_action(.:format) {:controller=>"pages", :action=>"index_from_link"} + /share/:model/:id(.:format) {:controller=>"application", :action=>"render_share"} + /gridfs/*path(.:format) {:path=>/.+?/, :controller=>"gridfs", :action=>"serve"} + page /*page_name(.:format) {:page_name=>/.+?/, :controller=>"pages", :action=>"show"} + root / {:controller=>"pages", :action=>"index"} + panel_web_resource_back_end_root /panel/web_resource/back_end(.:format) {:controller=>"panel/web_resource/back_end/web_links", :action=>"index"} + delete_panel_web_resource_back_end_web_links GET /panel/web_resource/back_end/web_links/delete(.:format) {:action=>"delete", :controller=>"panel/web_resource/back_end/web_links"} + panel_web_resource_back_end_web_links GET /panel/web_resource/back_end/web_links(.:format) {:action=>"index", :controller=>"panel/web_resource/back_end/web_links"} + POST /panel/web_resource/back_end/web_links(.:format) {:action=>"create", :controller=>"panel/web_resource/back_end/web_links"} + new_panel_web_resource_back_end_web_link GET /panel/web_resource/back_end/web_links/new(.:format) {:action=>"new", :controller=>"panel/web_resource/back_end/web_links"} + edit_panel_web_resource_back_end_web_link GET /panel/web_resource/back_end/web_links/:id/edit(.:format) {:action=>"edit", :controller=>"panel/web_resource/back_end/web_links"} + panel_web_resource_back_end_web_link GET /panel/web_resource/back_end/web_links/:id(.:format) {:action=>"show", :controller=>"panel/web_resource/back_end/web_links"} + PUT /panel/web_resource/back_end/web_links/:id(.:format) {:action=>"update", :controller=>"panel/web_resource/back_end/web_links"} + DELETE /panel/web_resource/back_end/web_links/:id(.:format) {:action=>"destroy", :controller=>"panel/web_resource/back_end/web_links"} + panel_web_resource_back_end_web_link_categorys GET /panel/web_resource/back_end/web_link_categorys(.:format) {:action=>"index", :controller=>"panel/web_resource/back_end/web_link_categorys"} + POST /panel/web_resource/back_end/web_link_categorys(.:format) {:action=>"create", :controller=>"panel/web_resource/back_end/web_link_categorys"} + new_panel_web_resource_back_end_web_link_category GET /panel/web_resource/back_end/web_link_categorys/new(.:format) {:action=>"new", :controller=>"panel/web_resource/back_end/web_link_categorys"} + edit_panel_web_resource_back_end_web_link_category GET /panel/web_resource/back_end/web_link_categorys/:id/edit(.:format) {:action=>"edit", :controller=>"panel/web_resource/back_end/web_link_categorys"} + panel_web_resource_back_end_web_link_category GET /panel/web_resource/back_end/web_link_categorys/:id(.:format) {:action=>"show", :controller=>"panel/web_resource/back_end/web_link_categorys"} + PUT /panel/web_resource/back_end/web_link_categorys/:id(.:format) {:action=>"update", :controller=>"panel/web_resource/back_end/web_link_categorys"} + DELETE /panel/web_resource/back_end/web_link_categorys/:id(.:format) {:action=>"destroy", :controller=>"panel/web_resource/back_end/web_link_categorys"} + panel_web_resource_back_end_tags GET /panel/web_resource/back_end/tags(.:format) {:action=>"index", :controller=>"panel/web_resource/back_end/tags"} + POST /panel/web_resource/back_end/tags(.:format) {:action=>"create", :controller=>"panel/web_resource/back_end/tags"} + new_panel_web_resource_back_end_tag GET /panel/web_resource/back_end/tags/new(.:format) {:action=>"new", :controller=>"panel/web_resource/back_end/tags"} + edit_panel_web_resource_back_end_tag GET /panel/web_resource/back_end/tags/:id/edit(.:format) {:action=>"edit", :controller=>"panel/web_resource/back_end/tags"} + panel_web_resource_back_end_tag GET /panel/web_resource/back_end/tags/:id(.:format) {:action=>"show", :controller=>"panel/web_resource/back_end/tags"} + PUT /panel/web_resource/back_end/tags/:id(.:format) {:action=>"update", :controller=>"panel/web_resource/back_end/tags"} + DELETE /panel/web_resource/back_end/tags/:id(.:format) {:action=>"destroy", :controller=>"panel/web_resource/back_end/tags"} + panel_web_resource_front_end_web_links GET /panel/web_resource/front_end/web_links(.:format) {:action=>"index", :controller=>"panel/web_resource/front_end/web_links"} + POST /panel/web_resource/front_end/web_links(.:format) {:action=>"create", :controller=>"panel/web_resource/front_end/web_links"} + new_panel_web_resource_front_end_web_link GET /panel/web_resource/front_end/web_links/new(.:format) {:action=>"new", :controller=>"panel/web_resource/front_end/web_links"} + edit_panel_web_resource_front_end_web_link GET /panel/web_resource/front_end/web_links/:id/edit(.:format) {:action=>"edit", :controller=>"panel/web_resource/front_end/web_links"} + panel_web_resource_front_end_web_link GET /panel/web_resource/front_end/web_links/:id(.:format) {:action=>"show", :controller=>"panel/web_resource/front_end/web_links"} + PUT /panel/web_resource/front_end/web_links/:id(.:format) {:action=>"update", :controller=>"panel/web_resource/front_end/web_links"} + DELETE /panel/web_resource/front_end/web_links/:id(.:format) {:action=>"destroy", :controller=>"panel/web_resource/front_end/web_links"} + panel_web_resource_widget_web_links /panel/web_resource/widget/web_links(.:format) {:action=>"index", :controller=>"panel/web_resource/widget/web_links"} + panel_web_resource_widget_home_list /panel/web_resource/widget/home_list(.:format) {:action=>"home_list", :controller=>"panel/web_resource/widget/web_links"} + panel_web_resource_widget_reload_web_links /panel/web_resource/widget/reload_web_links(.:format) {:action=>"reload_web_links", :controller=>"panel/web_resource/widget/web_links"} + /appfront/*path(.:format) {:path=>/.+?/, :to=>#} + panel_personal_seminar_back_end_writing_seminar_setting /panel/personal_seminar/back_end/writing_seminar_setting(.:format) {:action=>"writing_seminar_setting", :controller=>"panel/personal_seminar/back_end/writing_seminars"} + delete_panel_personal_seminar_back_end_writing_seminars GET /panel/personal_seminar/back_end/writing_seminars/delete(.:format) {:action=>"delete", :controller=>"panel/personal_seminar/back_end/writing_seminars"} + panel_personal_seminar_back_end_writing_seminar_author_type_quick_add /panel/personal_seminar/back_end/writing_seminars/:writing_seminar_id/author_type_quick_add(.:format) {:action=>"author_type_quick_add", :controller=>"panel/personal_seminar/back_end/writing_seminars"} + panel_personal_seminar_back_end_writing_seminar_author_type_quick_edit /panel/personal_seminar/back_end/writing_seminars/:writing_seminar_id/author_type_quick_edit(.:format) {:action=>"author_type_quick_edit", :controller=>"panel/personal_seminar/back_end/writing_seminars"} + panel_personal_seminar_back_end_writing_seminar_paper_type_quick_add /panel/personal_seminar/back_end/writing_seminars/:writing_seminar_id/paper_type_quick_add(.:format) {:action=>"paper_type_quick_add", :controller=>"panel/personal_seminar/back_end/writing_seminars"} + panel_personal_seminar_back_end_writing_seminar_paper_type_quick_edit /panel/personal_seminar/back_end/writing_seminars/:writing_seminar_id/paper_type_quick_edit(.:format) {:action=>"paper_type_quick_edit", :controller=>"panel/personal_seminar/back_end/writing_seminars"} + panel_personal_seminar_back_end_writing_seminars GET /panel/personal_seminar/back_end/writing_seminars(.:format) {:action=>"index", :controller=>"panel/personal_seminar/back_end/writing_seminars"} + POST /panel/personal_seminar/back_end/writing_seminars(.:format) {:action=>"create", :controller=>"panel/personal_seminar/back_end/writing_seminars"} + new_panel_personal_seminar_back_end_writing_seminar GET /panel/personal_seminar/back_end/writing_seminars/new(.:format) {:action=>"new", :controller=>"panel/personal_seminar/back_end/writing_seminars"} + edit_panel_personal_seminar_back_end_writing_seminar GET /panel/personal_seminar/back_end/writing_seminars/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_seminar/back_end/writing_seminars"} + panel_personal_seminar_back_end_writing_seminar GET /panel/personal_seminar/back_end/writing_seminars/:id(.:format) {:action=>"show", :controller=>"panel/personal_seminar/back_end/writing_seminars"} + PUT /panel/personal_seminar/back_end/writing_seminars/:id(.:format) {:action=>"update", :controller=>"panel/personal_seminar/back_end/writing_seminars"} + DELETE /panel/personal_seminar/back_end/writing_seminars/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_seminar/back_end/writing_seminars"} + panel_personal_seminar_back_end_seminar_paper_types GET /panel/personal_seminar/back_end/seminar_paper_types(.:format) {:action=>"index", :controller=>"panel/personal_seminar/back_end/seminar_paper_types"} + POST /panel/personal_seminar/back_end/seminar_paper_types(.:format) {:action=>"create", :controller=>"panel/personal_seminar/back_end/seminar_paper_types"} + new_panel_personal_seminar_back_end_seminar_paper_type GET /panel/personal_seminar/back_end/seminar_paper_types/new(.:format) {:action=>"new", :controller=>"panel/personal_seminar/back_end/seminar_paper_types"} + edit_panel_personal_seminar_back_end_seminar_paper_type GET /panel/personal_seminar/back_end/seminar_paper_types/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_seminar/back_end/seminar_paper_types"} + panel_personal_seminar_back_end_seminar_paper_type GET /panel/personal_seminar/back_end/seminar_paper_types/:id(.:format) {:action=>"show", :controller=>"panel/personal_seminar/back_end/seminar_paper_types"} + PUT /panel/personal_seminar/back_end/seminar_paper_types/:id(.:format) {:action=>"update", :controller=>"panel/personal_seminar/back_end/seminar_paper_types"} + DELETE /panel/personal_seminar/back_end/seminar_paper_types/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_seminar/back_end/seminar_paper_types"} + panel_personal_seminar_back_end_seminar_author_types GET /panel/personal_seminar/back_end/seminar_author_types(.:format) {:action=>"index", :controller=>"panel/personal_seminar/back_end/seminar_author_types"} + POST /panel/personal_seminar/back_end/seminar_author_types(.:format) {:action=>"create", :controller=>"panel/personal_seminar/back_end/seminar_author_types"} + new_panel_personal_seminar_back_end_seminar_author_type GET /panel/personal_seminar/back_end/seminar_author_types/new(.:format) {:action=>"new", :controller=>"panel/personal_seminar/back_end/seminar_author_types"} + edit_panel_personal_seminar_back_end_seminar_author_type GET /panel/personal_seminar/back_end/seminar_author_types/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_seminar/back_end/seminar_author_types"} + panel_personal_seminar_back_end_seminar_author_type GET /panel/personal_seminar/back_end/seminar_author_types/:id(.:format) {:action=>"show", :controller=>"panel/personal_seminar/back_end/seminar_author_types"} + PUT /panel/personal_seminar/back_end/seminar_author_types/:id(.:format) {:action=>"update", :controller=>"panel/personal_seminar/back_end/seminar_author_types"} + DELETE /panel/personal_seminar/back_end/seminar_author_types/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_seminar/back_end/seminar_author_types"} + panel_personal_seminar_back_end_tags GET /panel/personal_seminar/back_end/tags(.:format) {:action=>"index", :controller=>"panel/personal_seminar/back_end/tags"} + POST /panel/personal_seminar/back_end/tags(.:format) {:action=>"create", :controller=>"panel/personal_seminar/back_end/tags"} + new_panel_personal_seminar_back_end_tag GET /panel/personal_seminar/back_end/tags/new(.:format) {:action=>"new", :controller=>"panel/personal_seminar/back_end/tags"} + edit_panel_personal_seminar_back_end_tag GET /panel/personal_seminar/back_end/tags/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_seminar/back_end/tags"} + panel_personal_seminar_back_end_tag GET /panel/personal_seminar/back_end/tags/:id(.:format) {:action=>"show", :controller=>"panel/personal_seminar/back_end/tags"} + PUT /panel/personal_seminar/back_end/tags/:id(.:format) {:action=>"update", :controller=>"panel/personal_seminar/back_end/tags"} + DELETE /panel/personal_seminar/back_end/tags/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_seminar/back_end/tags"} + panel_personal_seminar_front_end_writing_seminars GET /panel/personal_seminar/front_end/writing_seminars(.:format) {:action=>"index", :controller=>"panel/personal_seminar/front_end/writing_seminars"} + POST /panel/personal_seminar/front_end/writing_seminars(.:format) {:action=>"create", :controller=>"panel/personal_seminar/front_end/writing_seminars"} + new_panel_personal_seminar_front_end_writing_seminar GET /panel/personal_seminar/front_end/writing_seminars/new(.:format) {:action=>"new", :controller=>"panel/personal_seminar/front_end/writing_seminars"} + edit_panel_personal_seminar_front_end_writing_seminar GET /panel/personal_seminar/front_end/writing_seminars/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_seminar/front_end/writing_seminars"} + panel_personal_seminar_front_end_writing_seminar GET /panel/personal_seminar/front_end/writing_seminars/:id(.:format) {:action=>"show", :controller=>"panel/personal_seminar/front_end/writing_seminars"} + PUT /panel/personal_seminar/front_end/writing_seminars/:id(.:format) {:action=>"update", :controller=>"panel/personal_seminar/front_end/writing_seminars"} + DELETE /panel/personal_seminar/front_end/writing_seminars/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_seminar/front_end/writing_seminars"} + panel_personal_seminar_plugin_writing_seminars GET /panel/personal_seminar/plugin/writing_seminars(.:format) {:action=>"index", :controller=>"panel/personal_seminar/plugin/writing_seminars"} + POST /panel/personal_seminar/plugin/writing_seminars(.:format) {:action=>"create", :controller=>"panel/personal_seminar/plugin/writing_seminars"} + new_panel_personal_seminar_plugin_writing_seminar GET /panel/personal_seminar/plugin/writing_seminars/new(.:format) {:action=>"new", :controller=>"panel/personal_seminar/plugin/writing_seminars"} + edit_panel_personal_seminar_plugin_writing_seminar GET /panel/personal_seminar/plugin/writing_seminars/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_seminar/plugin/writing_seminars"} + panel_personal_seminar_plugin_writing_seminar GET /panel/personal_seminar/plugin/writing_seminars/:id(.:format) {:action=>"show", :controller=>"panel/personal_seminar/plugin/writing_seminars"} + PUT /panel/personal_seminar/plugin/writing_seminars/:id(.:format) {:action=>"update", :controller=>"panel/personal_seminar/plugin/writing_seminars"} + DELETE /panel/personal_seminar/plugin/writing_seminars/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_seminar/plugin/writing_seminars"} + panel_personal_seminar_widget_writing_seminars /panel/personal_seminar/widget/writing_seminars(.:format) {:action=>"index", :controller=>"panel/personal_seminar/widget/writing_seminars"} + panel_personal_seminar_widget_home_list /panel/personal_seminar/widget/home_list(.:format) {:action=>"home_list", :controller=>"panel/personal_seminar/widget/writing_seminars"} + panel_personal_seminar_widget_reload_writing_seminars /panel/personal_seminar/widget/reload_writing_seminars(.:format) {:action=>"reload_writing_seminars", :controller=>"panel/personal_seminar/widget/writing_seminars"} + /appfront/*path(.:format) {:path=>/.+?/, :to=>#} + panel_personal_research_back_end_research_setting /panel/personal_research/back_end/research_setting(.:format) {:action=>"research_setting", :controller=>"panel/personal_research/back_end/researchs"} + delete_panel_personal_research_back_end_researchs GET /panel/personal_research/back_end/researchs/delete(.:format) {:action=>"delete", :controller=>"panel/personal_research/back_end/researchs"} + panel_personal_research_back_end_research_tag_quick_add /panel/personal_research/back_end/researchs/:research_id/tag_quick_add(.:format) {:action=>"tag_quick_add", :controller=>"panel/personal_research/back_end/researchs"} + panel_personal_research_back_end_research_tag_quick_edit /panel/personal_research/back_end/researchs/:research_id/tag_quick_edit(.:format) {:action=>"tag_quick_edit", :controller=>"panel/personal_research/back_end/researchs"} + panel_personal_research_back_end_researchs GET /panel/personal_research/back_end/researchs(.:format) {:action=>"index", :controller=>"panel/personal_research/back_end/researchs"} + POST /panel/personal_research/back_end/researchs(.:format) {:action=>"create", :controller=>"panel/personal_research/back_end/researchs"} + new_panel_personal_research_back_end_research GET /panel/personal_research/back_end/researchs/new(.:format) {:action=>"new", :controller=>"panel/personal_research/back_end/researchs"} + edit_panel_personal_research_back_end_research GET /panel/personal_research/back_end/researchs/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_research/back_end/researchs"} + panel_personal_research_back_end_research GET /panel/personal_research/back_end/researchs/:id(.:format) {:action=>"show", :controller=>"panel/personal_research/back_end/researchs"} + PUT /panel/personal_research/back_end/researchs/:id(.:format) {:action=>"update", :controller=>"panel/personal_research/back_end/researchs"} + DELETE /panel/personal_research/back_end/researchs/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_research/back_end/researchs"} + panel_personal_research_back_end_tags GET /panel/personal_research/back_end/tags(.:format) {:action=>"index", :controller=>"panel/personal_research/back_end/tags"} + POST /panel/personal_research/back_end/tags(.:format) {:action=>"create", :controller=>"panel/personal_research/back_end/tags"} + new_panel_personal_research_back_end_tag GET /panel/personal_research/back_end/tags/new(.:format) {:action=>"new", :controller=>"panel/personal_research/back_end/tags"} + edit_panel_personal_research_back_end_tag GET /panel/personal_research/back_end/tags/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_research/back_end/tags"} + panel_personal_research_back_end_tag GET /panel/personal_research/back_end/tags/:id(.:format) {:action=>"show", :controller=>"panel/personal_research/back_end/tags"} + PUT /panel/personal_research/back_end/tags/:id(.:format) {:action=>"update", :controller=>"panel/personal_research/back_end/tags"} + DELETE /panel/personal_research/back_end/tags/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_research/back_end/tags"} + panel_personal_research_front_end_researchs GET /panel/personal_research/front_end/researchs(.:format) {:action=>"index", :controller=>"panel/personal_research/front_end/researchs"} + POST /panel/personal_research/front_end/researchs(.:format) {:action=>"create", :controller=>"panel/personal_research/front_end/researchs"} + new_panel_personal_research_front_end_research GET /panel/personal_research/front_end/researchs/new(.:format) {:action=>"new", :controller=>"panel/personal_research/front_end/researchs"} + edit_panel_personal_research_front_end_research GET /panel/personal_research/front_end/researchs/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_research/front_end/researchs"} + panel_personal_research_front_end_research GET /panel/personal_research/front_end/researchs/:id(.:format) {:action=>"show", :controller=>"panel/personal_research/front_end/researchs"} + PUT /panel/personal_research/front_end/researchs/:id(.:format) {:action=>"update", :controller=>"panel/personal_research/front_end/researchs"} + DELETE /panel/personal_research/front_end/researchs/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_research/front_end/researchs"} + panel_personal_research_plugin_researchs GET /panel/personal_research/plugin/researchs(.:format) {:action=>"index", :controller=>"panel/personal_research/plugin/researchs"} + POST /panel/personal_research/plugin/researchs(.:format) {:action=>"create", :controller=>"panel/personal_research/plugin/researchs"} + new_panel_personal_research_plugin_research GET /panel/personal_research/plugin/researchs/new(.:format) {:action=>"new", :controller=>"panel/personal_research/plugin/researchs"} + edit_panel_personal_research_plugin_research GET /panel/personal_research/plugin/researchs/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_research/plugin/researchs"} + panel_personal_research_plugin_research GET /panel/personal_research/plugin/researchs/:id(.:format) {:action=>"show", :controller=>"panel/personal_research/plugin/researchs"} + PUT /panel/personal_research/plugin/researchs/:id(.:format) {:action=>"update", :controller=>"panel/personal_research/plugin/researchs"} + DELETE /panel/personal_research/plugin/researchs/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_research/plugin/researchs"} + panel_personal_research_widget_researchs /panel/personal_research/widget/researchs(.:format) {:action=>"index", :controller=>"panel/personal_research/widget/researchs"} + panel_personal_research_widget_home_list /panel/personal_research/widget/home_list(.:format) {:action=>"home_list", :controller=>"panel/personal_research/widget/researchs"} + panel_personal_research_widget_reload_researchs /panel/personal_research/widget/reload_researchs(.:format) {:action=>"reload_researchs", :controller=>"panel/personal_research/widget/researchs"} + /appfront/*path(.:format) {:path=>/.+?/, :to=>#} + panel_personal_project_back_end_project_setting /panel/personal_project/back_end/project_setting(.:format) {:action=>"project_setting", :controller=>"panel/personal_project/back_end/projects"} + delete_panel_personal_project_back_end_projects GET /panel/personal_project/back_end/projects/delete(.:format) {:action=>"delete", :controller=>"panel/personal_project/back_end/projects"} + panel_personal_project_back_end_project_project_category_quick_add /panel/personal_project/back_end/projects/:project_id/project_category_quick_add(.:format) {:action=>"project_category_quick_add", :controller=>"panel/personal_project/back_end/projects"} + panel_personal_project_back_end_project_project_category_quick_edit /panel/personal_project/back_end/projects/:project_id/project_category_quick_edit(.:format) {:action=>"project_category_quick_edit", :controller=>"panel/personal_project/back_end/projects"} + panel_personal_project_back_end_projects GET /panel/personal_project/back_end/projects(.:format) {:action=>"index", :controller=>"panel/personal_project/back_end/projects"} + POST /panel/personal_project/back_end/projects(.:format) {:action=>"create", :controller=>"panel/personal_project/back_end/projects"} + new_panel_personal_project_back_end_project GET /panel/personal_project/back_end/projects/new(.:format) {:action=>"new", :controller=>"panel/personal_project/back_end/projects"} + edit_panel_personal_project_back_end_project GET /panel/personal_project/back_end/projects/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_project/back_end/projects"} + panel_personal_project_back_end_project GET /panel/personal_project/back_end/projects/:id(.:format) {:action=>"show", :controller=>"panel/personal_project/back_end/projects"} + PUT /panel/personal_project/back_end/projects/:id(.:format) {:action=>"update", :controller=>"panel/personal_project/back_end/projects"} + DELETE /panel/personal_project/back_end/projects/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_project/back_end/projects"} + panel_personal_project_back_end_project_categorys GET /panel/personal_project/back_end/project_categorys(.:format) {:action=>"index", :controller=>"panel/personal_project/back_end/project_categorys"} + POST /panel/personal_project/back_end/project_categorys(.:format) {:action=>"create", :controller=>"panel/personal_project/back_end/project_categorys"} + new_panel_personal_project_back_end_project_category GET /panel/personal_project/back_end/project_categorys/new(.:format) {:action=>"new", :controller=>"panel/personal_project/back_end/project_categorys"} + edit_panel_personal_project_back_end_project_category GET /panel/personal_project/back_end/project_categorys/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_project/back_end/project_categorys"} + panel_personal_project_back_end_project_category GET /panel/personal_project/back_end/project_categorys/:id(.:format) {:action=>"show", :controller=>"panel/personal_project/back_end/project_categorys"} + PUT /panel/personal_project/back_end/project_categorys/:id(.:format) {:action=>"update", :controller=>"panel/personal_project/back_end/project_categorys"} + DELETE /panel/personal_project/back_end/project_categorys/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_project/back_end/project_categorys"} + panel_personal_project_back_end_tags GET /panel/personal_project/back_end/tags(.:format) {:action=>"index", :controller=>"panel/personal_project/back_end/tags"} + POST /panel/personal_project/back_end/tags(.:format) {:action=>"create", :controller=>"panel/personal_project/back_end/tags"} + new_panel_personal_project_back_end_tag GET /panel/personal_project/back_end/tags/new(.:format) {:action=>"new", :controller=>"panel/personal_project/back_end/tags"} + edit_panel_personal_project_back_end_tag GET /panel/personal_project/back_end/tags/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_project/back_end/tags"} + panel_personal_project_back_end_tag GET /panel/personal_project/back_end/tags/:id(.:format) {:action=>"show", :controller=>"panel/personal_project/back_end/tags"} + PUT /panel/personal_project/back_end/tags/:id(.:format) {:action=>"update", :controller=>"panel/personal_project/back_end/tags"} + DELETE /panel/personal_project/back_end/tags/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_project/back_end/tags"} + panel_personal_project_front_end_projects GET /panel/personal_project/front_end/projects(.:format) {:action=>"index", :controller=>"panel/personal_project/front_end/projects"} + POST /panel/personal_project/front_end/projects(.:format) {:action=>"create", :controller=>"panel/personal_project/front_end/projects"} + new_panel_personal_project_front_end_project GET /panel/personal_project/front_end/projects/new(.:format) {:action=>"new", :controller=>"panel/personal_project/front_end/projects"} + edit_panel_personal_project_front_end_project GET /panel/personal_project/front_end/projects/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_project/front_end/projects"} + panel_personal_project_front_end_project GET /panel/personal_project/front_end/projects/:id(.:format) {:action=>"show", :controller=>"panel/personal_project/front_end/projects"} + PUT /panel/personal_project/front_end/projects/:id(.:format) {:action=>"update", :controller=>"panel/personal_project/front_end/projects"} + DELETE /panel/personal_project/front_end/projects/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_project/front_end/projects"} + panel_personal_project_plugin_projects GET /panel/personal_project/plugin/projects(.:format) {:action=>"index", :controller=>"panel/personal_project/plugin/projects"} + POST /panel/personal_project/plugin/projects(.:format) {:action=>"create", :controller=>"panel/personal_project/plugin/projects"} + new_panel_personal_project_plugin_project GET /panel/personal_project/plugin/projects/new(.:format) {:action=>"new", :controller=>"panel/personal_project/plugin/projects"} + edit_panel_personal_project_plugin_project GET /panel/personal_project/plugin/projects/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_project/plugin/projects"} + panel_personal_project_plugin_project GET /panel/personal_project/plugin/projects/:id(.:format) {:action=>"show", :controller=>"panel/personal_project/plugin/projects"} + PUT /panel/personal_project/plugin/projects/:id(.:format) {:action=>"update", :controller=>"panel/personal_project/plugin/projects"} + DELETE /panel/personal_project/plugin/projects/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_project/plugin/projects"} + panel_personal_project_widget_projects /panel/personal_project/widget/projects(.:format) {:action=>"index", :controller=>"panel/personal_project/widget/projects"} + panel_personal_project_widget_home_list /panel/personal_project/widget/home_list(.:format) {:action=>"home_list", :controller=>"panel/personal_project/widget/projects"} + panel_personal_project_widget_reload_projects /panel/personal_project/widget/reload_projects(.:format) {:action=>"reload_projects", :controller=>"panel/personal_project/widget/projects"} + /appfront/*path(.:format) {:path=>/.+?/, :to=>#} + panel_personal_patent_back_end_writing_patent_setting /panel/personal_patent/back_end/writing_patent_setting(.:format) {:action=>"writing_patent_setting", :controller=>"panel/personal_patent/back_end/writing_patents"} + delete_panel_personal_patent_back_end_writing_patents GET /panel/personal_patent/back_end/writing_patents/delete(.:format) {:action=>"delete", :controller=>"panel/personal_patent/back_end/writing_patents"} + panel_personal_patent_back_end_writing_patent_writing_patent_category_quick_add /panel/personal_patent/back_end/writing_patents/:writing_patent_id/writing_patent_category_quick_add(.:format) {:action=>"writing_patent_category_quick_add", :controller=>"panel/personal_patent/back_end/writing_patents"} +panel_personal_patent_back_end_writing_patent_writing_patent_category_quick_edit /panel/personal_patent/back_end/writing_patents/:writing_patent_id/writing_patent_category_quick_edit(.:format) {:action=>"writing_patent_category_quick_edit", :controller=>"panel/personal_patent/back_end/writing_patents"} + panel_personal_patent_back_end_writing_patents GET /panel/personal_patent/back_end/writing_patents(.:format) {:action=>"index", :controller=>"panel/personal_patent/back_end/writing_patents"} + POST /panel/personal_patent/back_end/writing_patents(.:format) {:action=>"create", :controller=>"panel/personal_patent/back_end/writing_patents"} + new_panel_personal_patent_back_end_writing_patent GET /panel/personal_patent/back_end/writing_patents/new(.:format) {:action=>"new", :controller=>"panel/personal_patent/back_end/writing_patents"} + edit_panel_personal_patent_back_end_writing_patent GET /panel/personal_patent/back_end/writing_patents/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_patent/back_end/writing_patents"} + panel_personal_patent_back_end_writing_patent GET /panel/personal_patent/back_end/writing_patents/:id(.:format) {:action=>"show", :controller=>"panel/personal_patent/back_end/writing_patents"} + PUT /panel/personal_patent/back_end/writing_patents/:id(.:format) {:action=>"update", :controller=>"panel/personal_patent/back_end/writing_patents"} + DELETE /panel/personal_patent/back_end/writing_patents/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_patent/back_end/writing_patents"} + panel_personal_patent_back_end_writing_patent_categorys GET /panel/personal_patent/back_end/writing_patent_categorys(.:format) {:action=>"index", :controller=>"panel/personal_patent/back_end/writing_patent_categorys"} + POST /panel/personal_patent/back_end/writing_patent_categorys(.:format) {:action=>"create", :controller=>"panel/personal_patent/back_end/writing_patent_categorys"} + new_panel_personal_patent_back_end_writing_patent_category GET /panel/personal_patent/back_end/writing_patent_categorys/new(.:format) {:action=>"new", :controller=>"panel/personal_patent/back_end/writing_patent_categorys"} + edit_panel_personal_patent_back_end_writing_patent_category GET /panel/personal_patent/back_end/writing_patent_categorys/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_patent/back_end/writing_patent_categorys"} + panel_personal_patent_back_end_writing_patent_category GET /panel/personal_patent/back_end/writing_patent_categorys/:id(.:format) {:action=>"show", :controller=>"panel/personal_patent/back_end/writing_patent_categorys"} + PUT /panel/personal_patent/back_end/writing_patent_categorys/:id(.:format) {:action=>"update", :controller=>"panel/personal_patent/back_end/writing_patent_categorys"} + DELETE /panel/personal_patent/back_end/writing_patent_categorys/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_patent/back_end/writing_patent_categorys"} + panel_personal_patent_back_end_tags GET /panel/personal_patent/back_end/tags(.:format) {:action=>"index", :controller=>"panel/personal_patent/back_end/tags"} + POST /panel/personal_patent/back_end/tags(.:format) {:action=>"create", :controller=>"panel/personal_patent/back_end/tags"} + new_panel_personal_patent_back_end_tag GET /panel/personal_patent/back_end/tags/new(.:format) {:action=>"new", :controller=>"panel/personal_patent/back_end/tags"} + edit_panel_personal_patent_back_end_tag GET /panel/personal_patent/back_end/tags/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_patent/back_end/tags"} + panel_personal_patent_back_end_tag GET /panel/personal_patent/back_end/tags/:id(.:format) {:action=>"show", :controller=>"panel/personal_patent/back_end/tags"} + PUT /panel/personal_patent/back_end/tags/:id(.:format) {:action=>"update", :controller=>"panel/personal_patent/back_end/tags"} + DELETE /panel/personal_patent/back_end/tags/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_patent/back_end/tags"} + panel_personal_patent_front_end_writing_patents GET /panel/personal_patent/front_end/writing_patents(.:format) {:action=>"index", :controller=>"panel/personal_patent/front_end/writing_patents"} + POST /panel/personal_patent/front_end/writing_patents(.:format) {:action=>"create", :controller=>"panel/personal_patent/front_end/writing_patents"} + new_panel_personal_patent_front_end_writing_patent GET /panel/personal_patent/front_end/writing_patents/new(.:format) {:action=>"new", :controller=>"panel/personal_patent/front_end/writing_patents"} + edit_panel_personal_patent_front_end_writing_patent GET /panel/personal_patent/front_end/writing_patents/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_patent/front_end/writing_patents"} + panel_personal_patent_front_end_writing_patent GET /panel/personal_patent/front_end/writing_patents/:id(.:format) {:action=>"show", :controller=>"panel/personal_patent/front_end/writing_patents"} + PUT /panel/personal_patent/front_end/writing_patents/:id(.:format) {:action=>"update", :controller=>"panel/personal_patent/front_end/writing_patents"} + DELETE /panel/personal_patent/front_end/writing_patents/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_patent/front_end/writing_patents"} + panel_personal_patent_plugin_writing_patents GET /panel/personal_patent/plugin/writing_patents(.:format) {:action=>"index", :controller=>"panel/personal_patent/plugin/writing_patents"} + POST /panel/personal_patent/plugin/writing_patents(.:format) {:action=>"create", :controller=>"panel/personal_patent/plugin/writing_patents"} + new_panel_personal_patent_plugin_writing_patent GET /panel/personal_patent/plugin/writing_patents/new(.:format) {:action=>"new", :controller=>"panel/personal_patent/plugin/writing_patents"} + edit_panel_personal_patent_plugin_writing_patent GET /panel/personal_patent/plugin/writing_patents/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_patent/plugin/writing_patents"} + panel_personal_patent_plugin_writing_patent GET /panel/personal_patent/plugin/writing_patents/:id(.:format) {:action=>"show", :controller=>"panel/personal_patent/plugin/writing_patents"} + PUT /panel/personal_patent/plugin/writing_patents/:id(.:format) {:action=>"update", :controller=>"panel/personal_patent/plugin/writing_patents"} + DELETE /panel/personal_patent/plugin/writing_patents/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_patent/plugin/writing_patents"} + panel_personal_patent_widget_writing_patents /panel/personal_patent/widget/writing_patents(.:format) {:action=>"index", :controller=>"panel/personal_patent/widget/writing_patents"} + panel_personal_patent_widget_home_list /panel/personal_patent/widget/home_list(.:format) {:action=>"home_list", :controller=>"panel/personal_patent/widget/writing_patents"} + panel_personal_patent_widget_reload_writing_patents /panel/personal_patent/widget/reload_writing_patents(.:format) {:action=>"reload_writing_patents", :controller=>"panel/personal_patent/widget/writing_patents"} + /appfront/*path(.:format) {:path=>/.+?/, :to=>#} + panel_personal_lab_back_end_lab_setting /panel/personal_lab/back_end/lab_setting(.:format) {:action=>"lab_setting", :controller=>"panel/personal_lab/back_end/labs"} + delete_panel_personal_lab_back_end_labs GET /panel/personal_lab/back_end/labs/delete(.:format) {:action=>"delete", :controller=>"panel/personal_lab/back_end/labs"} + panel_personal_lab_back_end_labs GET /panel/personal_lab/back_end/labs(.:format) {:action=>"index", :controller=>"panel/personal_lab/back_end/labs"} + POST /panel/personal_lab/back_end/labs(.:format) {:action=>"create", :controller=>"panel/personal_lab/back_end/labs"} + new_panel_personal_lab_back_end_lab GET /panel/personal_lab/back_end/labs/new(.:format) {:action=>"new", :controller=>"panel/personal_lab/back_end/labs"} + edit_panel_personal_lab_back_end_lab GET /panel/personal_lab/back_end/labs/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_lab/back_end/labs"} + panel_personal_lab_back_end_lab GET /panel/personal_lab/back_end/labs/:id(.:format) {:action=>"show", :controller=>"panel/personal_lab/back_end/labs"} + PUT /panel/personal_lab/back_end/labs/:id(.:format) {:action=>"update", :controller=>"panel/personal_lab/back_end/labs"} + DELETE /panel/personal_lab/back_end/labs/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_lab/back_end/labs"} + panel_personal_lab_back_end_tags GET /panel/personal_lab/back_end/tags(.:format) {:action=>"index", :controller=>"panel/personal_lab/back_end/tags"} + POST /panel/personal_lab/back_end/tags(.:format) {:action=>"create", :controller=>"panel/personal_lab/back_end/tags"} + new_panel_personal_lab_back_end_tag GET /panel/personal_lab/back_end/tags/new(.:format) {:action=>"new", :controller=>"panel/personal_lab/back_end/tags"} + edit_panel_personal_lab_back_end_tag GET /panel/personal_lab/back_end/tags/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_lab/back_end/tags"} + panel_personal_lab_back_end_tag GET /panel/personal_lab/back_end/tags/:id(.:format) {:action=>"show", :controller=>"panel/personal_lab/back_end/tags"} + PUT /panel/personal_lab/back_end/tags/:id(.:format) {:action=>"update", :controller=>"panel/personal_lab/back_end/tags"} + DELETE /panel/personal_lab/back_end/tags/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_lab/back_end/tags"} + panel_personal_lab_front_end_labs GET /panel/personal_lab/front_end/labs(.:format) {:action=>"index", :controller=>"panel/personal_lab/front_end/labs"} + POST /panel/personal_lab/front_end/labs(.:format) {:action=>"create", :controller=>"panel/personal_lab/front_end/labs"} + new_panel_personal_lab_front_end_lab GET /panel/personal_lab/front_end/labs/new(.:format) {:action=>"new", :controller=>"panel/personal_lab/front_end/labs"} + edit_panel_personal_lab_front_end_lab GET /panel/personal_lab/front_end/labs/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_lab/front_end/labs"} + panel_personal_lab_front_end_lab GET /panel/personal_lab/front_end/labs/:id(.:format) {:action=>"show", :controller=>"panel/personal_lab/front_end/labs"} + PUT /panel/personal_lab/front_end/labs/:id(.:format) {:action=>"update", :controller=>"panel/personal_lab/front_end/labs"} + DELETE /panel/personal_lab/front_end/labs/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_lab/front_end/labs"} + panel_personal_lab_plugin_labs GET /panel/personal_lab/plugin/labs(.:format) {:action=>"index", :controller=>"panel/personal_lab/plugin/labs"} + POST /panel/personal_lab/plugin/labs(.:format) {:action=>"create", :controller=>"panel/personal_lab/plugin/labs"} + new_panel_personal_lab_plugin_lab GET /panel/personal_lab/plugin/labs/new(.:format) {:action=>"new", :controller=>"panel/personal_lab/plugin/labs"} + edit_panel_personal_lab_plugin_lab GET /panel/personal_lab/plugin/labs/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_lab/plugin/labs"} + panel_personal_lab_plugin_lab GET /panel/personal_lab/plugin/labs/:id(.:format) {:action=>"show", :controller=>"panel/personal_lab/plugin/labs"} + PUT /panel/personal_lab/plugin/labs/:id(.:format) {:action=>"update", :controller=>"panel/personal_lab/plugin/labs"} + DELETE /panel/personal_lab/plugin/labs/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_lab/plugin/labs"} + panel_personal_lab_widget_labs /panel/personal_lab/widget/labs(.:format) {:action=>"index", :controller=>"panel/personal_lab/widget/labs"} + panel_personal_lab_widget_home_list /panel/personal_lab/widget/home_list(.:format) {:action=>"home_list", :controller=>"panel/personal_lab/widget/labs"} + panel_personal_lab_widget_reload_labs /panel/personal_lab/widget/reload_labs(.:format) {:action=>"reload_labs", :controller=>"panel/personal_lab/widget/labs"} + /appfront/*path(.:format) {:path=>/.+?/, :to=>#} + panel_personal_journal_back_end_writing_journal_setting /panel/personal_journal/back_end/writing_journal_setting(.:format) {:action=>"writing_journal_setting", :controller=>"panel/personal_journal/back_end/writing_journals"} + delete_panel_personal_journal_back_end_writing_journals GET /panel/personal_journal/back_end/writing_journals/delete(.:format) {:action=>"delete", :controller=>"panel/personal_journal/back_end/writing_journals"} + panel_personal_journal_back_end_writing_journal_level_type_quick_add /panel/personal_journal/back_end/writing_journals/:writing_journal_id/level_type_quick_add(.:format) {:action=>"level_type_quick_add", :controller=>"panel/personal_journal/back_end/writing_journals"} + panel_personal_journal_back_end_writing_journal_level_type_quick_edit /panel/personal_journal/back_end/writing_journals/:writing_journal_id/level_type_quick_edit(.:format) {:action=>"level_type_quick_edit", :controller=>"panel/personal_journal/back_end/writing_journals"} + panel_personal_journal_back_end_writing_journal_author_type_quick_add /panel/personal_journal/back_end/writing_journals/:writing_journal_id/author_type_quick_add(.:format) {:action=>"author_type_quick_add", :controller=>"panel/personal_journal/back_end/writing_journals"} + panel_personal_journal_back_end_writing_journal_author_type_quick_edit /panel/personal_journal/back_end/writing_journals/:writing_journal_id/author_type_quick_edit(.:format) {:action=>"author_type_quick_edit", :controller=>"panel/personal_journal/back_end/writing_journals"} + panel_personal_journal_back_end_writing_journal_paper_type_quick_add /panel/personal_journal/back_end/writing_journals/:writing_journal_id/paper_type_quick_add(.:format) {:action=>"paper_type_quick_add", :controller=>"panel/personal_journal/back_end/writing_journals"} + panel_personal_journal_back_end_writing_journal_paper_type_quick_edit /panel/personal_journal/back_end/writing_journals/:writing_journal_id/paper_type_quick_edit(.:format) {:action=>"paper_type_quick_edit", :controller=>"panel/personal_journal/back_end/writing_journals"} + panel_personal_journal_back_end_writing_journal_tag_quick_add /panel/personal_journal/back_end/writing_journals/:writing_journal_id/tag_quick_add(.:format) {:action=>"tag_quick_add", :controller=>"panel/personal_journal/back_end/writing_journals"} + panel_personal_journal_back_end_writing_journal_tag_quick_edit /panel/personal_journal/back_end/writing_journals/:writing_journal_id/tag_quick_edit(.:format) {:action=>"tag_quick_edit", :controller=>"panel/personal_journal/back_end/writing_journals"} + panel_personal_journal_back_end_writing_journals GET /panel/personal_journal/back_end/writing_journals(.:format) {:action=>"index", :controller=>"panel/personal_journal/back_end/writing_journals"} + POST /panel/personal_journal/back_end/writing_journals(.:format) {:action=>"create", :controller=>"panel/personal_journal/back_end/writing_journals"} + new_panel_personal_journal_back_end_writing_journal GET /panel/personal_journal/back_end/writing_journals/new(.:format) {:action=>"new", :controller=>"panel/personal_journal/back_end/writing_journals"} + edit_panel_personal_journal_back_end_writing_journal GET /panel/personal_journal/back_end/writing_journals/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_journal/back_end/writing_journals"} + panel_personal_journal_back_end_writing_journal GET /panel/personal_journal/back_end/writing_journals/:id(.:format) {:action=>"show", :controller=>"panel/personal_journal/back_end/writing_journals"} + PUT /panel/personal_journal/back_end/writing_journals/:id(.:format) {:action=>"update", :controller=>"panel/personal_journal/back_end/writing_journals"} + DELETE /panel/personal_journal/back_end/writing_journals/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_journal/back_end/writing_journals"} + panel_personal_journal_back_end_journal_paper_types GET /panel/personal_journal/back_end/journal_paper_types(.:format) {:action=>"index", :controller=>"panel/personal_journal/back_end/journal_paper_types"} + POST /panel/personal_journal/back_end/journal_paper_types(.:format) {:action=>"create", :controller=>"panel/personal_journal/back_end/journal_paper_types"} + new_panel_personal_journal_back_end_journal_paper_type GET /panel/personal_journal/back_end/journal_paper_types/new(.:format) {:action=>"new", :controller=>"panel/personal_journal/back_end/journal_paper_types"} + edit_panel_personal_journal_back_end_journal_paper_type GET /panel/personal_journal/back_end/journal_paper_types/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_journal/back_end/journal_paper_types"} + panel_personal_journal_back_end_journal_paper_type GET /panel/personal_journal/back_end/journal_paper_types/:id(.:format) {:action=>"show", :controller=>"panel/personal_journal/back_end/journal_paper_types"} + PUT /panel/personal_journal/back_end/journal_paper_types/:id(.:format) {:action=>"update", :controller=>"panel/personal_journal/back_end/journal_paper_types"} + DELETE /panel/personal_journal/back_end/journal_paper_types/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_journal/back_end/journal_paper_types"} + panel_personal_journal_back_end_journal_author_types GET /panel/personal_journal/back_end/journal_author_types(.:format) {:action=>"index", :controller=>"panel/personal_journal/back_end/journal_author_types"} + POST /panel/personal_journal/back_end/journal_author_types(.:format) {:action=>"create", :controller=>"panel/personal_journal/back_end/journal_author_types"} + new_panel_personal_journal_back_end_journal_author_type GET /panel/personal_journal/back_end/journal_author_types/new(.:format) {:action=>"new", :controller=>"panel/personal_journal/back_end/journal_author_types"} + edit_panel_personal_journal_back_end_journal_author_type GET /panel/personal_journal/back_end/journal_author_types/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_journal/back_end/journal_author_types"} + panel_personal_journal_back_end_journal_author_type GET /panel/personal_journal/back_end/journal_author_types/:id(.:format) {:action=>"show", :controller=>"panel/personal_journal/back_end/journal_author_types"} + PUT /panel/personal_journal/back_end/journal_author_types/:id(.:format) {:action=>"update", :controller=>"panel/personal_journal/back_end/journal_author_types"} + DELETE /panel/personal_journal/back_end/journal_author_types/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_journal/back_end/journal_author_types"} + panel_personal_journal_back_end_journal_level_types GET /panel/personal_journal/back_end/journal_level_types(.:format) {:action=>"index", :controller=>"panel/personal_journal/back_end/journal_level_types"} + POST /panel/personal_journal/back_end/journal_level_types(.:format) {:action=>"create", :controller=>"panel/personal_journal/back_end/journal_level_types"} + new_panel_personal_journal_back_end_journal_level_type GET /panel/personal_journal/back_end/journal_level_types/new(.:format) {:action=>"new", :controller=>"panel/personal_journal/back_end/journal_level_types"} + edit_panel_personal_journal_back_end_journal_level_type GET /panel/personal_journal/back_end/journal_level_types/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_journal/back_end/journal_level_types"} + panel_personal_journal_back_end_journal_level_type GET /panel/personal_journal/back_end/journal_level_types/:id(.:format) {:action=>"show", :controller=>"panel/personal_journal/back_end/journal_level_types"} + PUT /panel/personal_journal/back_end/journal_level_types/:id(.:format) {:action=>"update", :controller=>"panel/personal_journal/back_end/journal_level_types"} + DELETE /panel/personal_journal/back_end/journal_level_types/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_journal/back_end/journal_level_types"} + panel_personal_journal_back_end_tags GET /panel/personal_journal/back_end/tags(.:format) {:action=>"index", :controller=>"panel/personal_journal/back_end/tags"} + POST /panel/personal_journal/back_end/tags(.:format) {:action=>"create", :controller=>"panel/personal_journal/back_end/tags"} + new_panel_personal_journal_back_end_tag GET /panel/personal_journal/back_end/tags/new(.:format) {:action=>"new", :controller=>"panel/personal_journal/back_end/tags"} + edit_panel_personal_journal_back_end_tag GET /panel/personal_journal/back_end/tags/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_journal/back_end/tags"} + panel_personal_journal_back_end_tag GET /panel/personal_journal/back_end/tags/:id(.:format) {:action=>"show", :controller=>"panel/personal_journal/back_end/tags"} + PUT /panel/personal_journal/back_end/tags/:id(.:format) {:action=>"update", :controller=>"panel/personal_journal/back_end/tags"} + DELETE /panel/personal_journal/back_end/tags/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_journal/back_end/tags"} + panel_personal_journal_front_end_writing_journals GET /panel/personal_journal/front_end/writing_journals(.:format) {:action=>"index", :controller=>"panel/personal_journal/front_end/writing_journals"} + POST /panel/personal_journal/front_end/writing_journals(.:format) {:action=>"create", :controller=>"panel/personal_journal/front_end/writing_journals"} + new_panel_personal_journal_front_end_writing_journal GET /panel/personal_journal/front_end/writing_journals/new(.:format) {:action=>"new", :controller=>"panel/personal_journal/front_end/writing_journals"} + edit_panel_personal_journal_front_end_writing_journal GET /panel/personal_journal/front_end/writing_journals/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_journal/front_end/writing_journals"} + panel_personal_journal_front_end_writing_journal GET /panel/personal_journal/front_end/writing_journals/:id(.:format) {:action=>"show", :controller=>"panel/personal_journal/front_end/writing_journals"} + PUT /panel/personal_journal/front_end/writing_journals/:id(.:format) {:action=>"update", :controller=>"panel/personal_journal/front_end/writing_journals"} + DELETE /panel/personal_journal/front_end/writing_journals/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_journal/front_end/writing_journals"} + panel_personal_journal_plugin_writing_journals GET /panel/personal_journal/plugin/writing_journals(.:format) {:action=>"index", :controller=>"panel/personal_journal/plugin/writing_journals"} + POST /panel/personal_journal/plugin/writing_journals(.:format) {:action=>"create", :controller=>"panel/personal_journal/plugin/writing_journals"} + new_panel_personal_journal_plugin_writing_journal GET /panel/personal_journal/plugin/writing_journals/new(.:format) {:action=>"new", :controller=>"panel/personal_journal/plugin/writing_journals"} + edit_panel_personal_journal_plugin_writing_journal GET /panel/personal_journal/plugin/writing_journals/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_journal/plugin/writing_journals"} + panel_personal_journal_plugin_writing_journal GET /panel/personal_journal/plugin/writing_journals/:id(.:format) {:action=>"show", :controller=>"panel/personal_journal/plugin/writing_journals"} + PUT /panel/personal_journal/plugin/writing_journals/:id(.:format) {:action=>"update", :controller=>"panel/personal_journal/plugin/writing_journals"} + DELETE /panel/personal_journal/plugin/writing_journals/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_journal/plugin/writing_journals"} + panel_personal_journal_widget_writing_journals /panel/personal_journal/widget/writing_journals(.:format) {:action=>"index", :controller=>"panel/personal_journal/widget/writing_journals"} + panel_personal_journal_widget_home_list /panel/personal_journal/widget/home_list(.:format) {:action=>"home_list", :controller=>"panel/personal_journal/widget/writing_journals"} + panel_personal_journal_widget_reload_writing_journals /panel/personal_journal/widget/reload_writing_journals(.:format) {:action=>"reload_writing_journals", :controller=>"panel/personal_journal/widget/writing_journals"} + /appfront/*path(.:format) {:path=>/.+?/, :to=>#} + panel_personal_honor_back_end_honor_setting /panel/personal_honor/back_end/honor_setting(.:format) {:action=>"honor_setting", :controller=>"panel/personal_honor/back_end/honors"} + delete_panel_personal_honor_back_end_honors GET /panel/personal_honor/back_end/honors/delete(.:format) {:action=>"delete", :controller=>"panel/personal_honor/back_end/honors"} + panel_personal_honor_back_end_honor_honor_category_quick_add /panel/personal_honor/back_end/honors/:honor_id/honor_category_quick_add(.:format) {:action=>"honor_category_quick_add", :controller=>"panel/personal_honor/back_end/honors"} + panel_personal_honor_back_end_honor_honor_category_quick_edit /panel/personal_honor/back_end/honors/:honor_id/honor_category_quick_edit(.:format) {:action=>"honor_category_quick_edit", :controller=>"panel/personal_honor/back_end/honors"} + panel_personal_honor_back_end_honors GET /panel/personal_honor/back_end/honors(.:format) {:action=>"index", :controller=>"panel/personal_honor/back_end/honors"} + POST /panel/personal_honor/back_end/honors(.:format) {:action=>"create", :controller=>"panel/personal_honor/back_end/honors"} + new_panel_personal_honor_back_end_honor GET /panel/personal_honor/back_end/honors/new(.:format) {:action=>"new", :controller=>"panel/personal_honor/back_end/honors"} + edit_panel_personal_honor_back_end_honor GET /panel/personal_honor/back_end/honors/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_honor/back_end/honors"} + panel_personal_honor_back_end_honor GET /panel/personal_honor/back_end/honors/:id(.:format) {:action=>"show", :controller=>"panel/personal_honor/back_end/honors"} + PUT /panel/personal_honor/back_end/honors/:id(.:format) {:action=>"update", :controller=>"panel/personal_honor/back_end/honors"} + DELETE /panel/personal_honor/back_end/honors/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_honor/back_end/honors"} + panel_personal_honor_back_end_honor_categorys GET /panel/personal_honor/back_end/honor_categorys(.:format) {:action=>"index", :controller=>"panel/personal_honor/back_end/honor_categorys"} + POST /panel/personal_honor/back_end/honor_categorys(.:format) {:action=>"create", :controller=>"panel/personal_honor/back_end/honor_categorys"} + new_panel_personal_honor_back_end_honor_category GET /panel/personal_honor/back_end/honor_categorys/new(.:format) {:action=>"new", :controller=>"panel/personal_honor/back_end/honor_categorys"} + edit_panel_personal_honor_back_end_honor_category GET /panel/personal_honor/back_end/honor_categorys/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_honor/back_end/honor_categorys"} + panel_personal_honor_back_end_honor_category GET /panel/personal_honor/back_end/honor_categorys/:id(.:format) {:action=>"show", :controller=>"panel/personal_honor/back_end/honor_categorys"} + PUT /panel/personal_honor/back_end/honor_categorys/:id(.:format) {:action=>"update", :controller=>"panel/personal_honor/back_end/honor_categorys"} + DELETE /panel/personal_honor/back_end/honor_categorys/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_honor/back_end/honor_categorys"} + panel_personal_honor_back_end_tags GET /panel/personal_honor/back_end/tags(.:format) {:action=>"index", :controller=>"panel/personal_honor/back_end/tags"} + POST /panel/personal_honor/back_end/tags(.:format) {:action=>"create", :controller=>"panel/personal_honor/back_end/tags"} + new_panel_personal_honor_back_end_tag GET /panel/personal_honor/back_end/tags/new(.:format) {:action=>"new", :controller=>"panel/personal_honor/back_end/tags"} + edit_panel_personal_honor_back_end_tag GET /panel/personal_honor/back_end/tags/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_honor/back_end/tags"} + panel_personal_honor_back_end_tag GET /panel/personal_honor/back_end/tags/:id(.:format) {:action=>"show", :controller=>"panel/personal_honor/back_end/tags"} + PUT /panel/personal_honor/back_end/tags/:id(.:format) {:action=>"update", :controller=>"panel/personal_honor/back_end/tags"} + DELETE /panel/personal_honor/back_end/tags/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_honor/back_end/tags"} + panel_personal_honor_front_end_honors GET /panel/personal_honor/front_end/honors(.:format) {:action=>"index", :controller=>"panel/personal_honor/front_end/honors"} + POST /panel/personal_honor/front_end/honors(.:format) {:action=>"create", :controller=>"panel/personal_honor/front_end/honors"} + new_panel_personal_honor_front_end_honor GET /panel/personal_honor/front_end/honors/new(.:format) {:action=>"new", :controller=>"panel/personal_honor/front_end/honors"} + edit_panel_personal_honor_front_end_honor GET /panel/personal_honor/front_end/honors/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_honor/front_end/honors"} + panel_personal_honor_front_end_honor GET /panel/personal_honor/front_end/honors/:id(.:format) {:action=>"show", :controller=>"panel/personal_honor/front_end/honors"} + PUT /panel/personal_honor/front_end/honors/:id(.:format) {:action=>"update", :controller=>"panel/personal_honor/front_end/honors"} + DELETE /panel/personal_honor/front_end/honors/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_honor/front_end/honors"} + panel_personal_honor_plugin_honors GET /panel/personal_honor/plugin/honors(.:format) {:action=>"index", :controller=>"panel/personal_honor/plugin/honors"} + POST /panel/personal_honor/plugin/honors(.:format) {:action=>"create", :controller=>"panel/personal_honor/plugin/honors"} + new_panel_personal_honor_plugin_honor GET /panel/personal_honor/plugin/honors/new(.:format) {:action=>"new", :controller=>"panel/personal_honor/plugin/honors"} + edit_panel_personal_honor_plugin_honor GET /panel/personal_honor/plugin/honors/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_honor/plugin/honors"} + panel_personal_honor_plugin_honor GET /panel/personal_honor/plugin/honors/:id(.:format) {:action=>"show", :controller=>"panel/personal_honor/plugin/honors"} + PUT /panel/personal_honor/plugin/honors/:id(.:format) {:action=>"update", :controller=>"panel/personal_honor/plugin/honors"} + DELETE /panel/personal_honor/plugin/honors/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_honor/plugin/honors"} + panel_personal_honor_widget_honors /panel/personal_honor/widget/honors(.:format) {:action=>"index", :controller=>"panel/personal_honor/widget/honors"} + panel_personal_honor_widget_home_list /panel/personal_honor/widget/home_list(.:format) {:action=>"home_list", :controller=>"panel/personal_honor/widget/honors"} + panel_personal_honor_widget_reload_honors /panel/personal_honor/widget/reload_honors(.:format) {:action=>"reload_honors", :controller=>"panel/personal_honor/widget/honors"} + /appfront/*path(.:format) {:path=>/.+?/, :to=>#} + panel_personal_experience_back_end_experience_setting /panel/personal_experience/back_end/experience_setting(.:format) {:action=>"experience_setting", :controller=>"panel/personal_experience/back_end/experiences"} + delete_panel_personal_experience_back_end_experiences GET /panel/personal_experience/back_end/experiences/delete(.:format) {:action=>"delete", :controller=>"panel/personal_experience/back_end/experiences"} + panel_personal_experience_back_end_experience_experience_category_quick_add /panel/personal_experience/back_end/experiences/:experience_id/experience_category_quick_add(.:format) {:action=>"experience_category_quick_add", :controller=>"panel/personal_experience/back_end/experiences"} + panel_personal_experience_back_end_experience_experience_category_quick_edit /panel/personal_experience/back_end/experiences/:experience_id/experience_category_quick_edit(.:format) {:action=>"experience_category_quick_edit", :controller=>"panel/personal_experience/back_end/experiences"} + panel_personal_experience_back_end_experiences GET /panel/personal_experience/back_end/experiences(.:format) {:action=>"index", :controller=>"panel/personal_experience/back_end/experiences"} + POST /panel/personal_experience/back_end/experiences(.:format) {:action=>"create", :controller=>"panel/personal_experience/back_end/experiences"} + new_panel_personal_experience_back_end_experience GET /panel/personal_experience/back_end/experiences/new(.:format) {:action=>"new", :controller=>"panel/personal_experience/back_end/experiences"} + edit_panel_personal_experience_back_end_experience GET /panel/personal_experience/back_end/experiences/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_experience/back_end/experiences"} + panel_personal_experience_back_end_experience GET /panel/personal_experience/back_end/experiences/:id(.:format) {:action=>"show", :controller=>"panel/personal_experience/back_end/experiences"} + PUT /panel/personal_experience/back_end/experiences/:id(.:format) {:action=>"update", :controller=>"panel/personal_experience/back_end/experiences"} + DELETE /panel/personal_experience/back_end/experiences/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_experience/back_end/experiences"} + panel_personal_experience_back_end_experience_categorys GET /panel/personal_experience/back_end/experience_categorys(.:format) {:action=>"index", :controller=>"panel/personal_experience/back_end/experience_categorys"} + POST /panel/personal_experience/back_end/experience_categorys(.:format) {:action=>"create", :controller=>"panel/personal_experience/back_end/experience_categorys"} + new_panel_personal_experience_back_end_experience_category GET /panel/personal_experience/back_end/experience_categorys/new(.:format) {:action=>"new", :controller=>"panel/personal_experience/back_end/experience_categorys"} + edit_panel_personal_experience_back_end_experience_category GET /panel/personal_experience/back_end/experience_categorys/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_experience/back_end/experience_categorys"} + panel_personal_experience_back_end_experience_category GET /panel/personal_experience/back_end/experience_categorys/:id(.:format) {:action=>"show", :controller=>"panel/personal_experience/back_end/experience_categorys"} + PUT /panel/personal_experience/back_end/experience_categorys/:id(.:format) {:action=>"update", :controller=>"panel/personal_experience/back_end/experience_categorys"} + DELETE /panel/personal_experience/back_end/experience_categorys/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_experience/back_end/experience_categorys"} + panel_personal_experience_back_end_tags GET /panel/personal_experience/back_end/tags(.:format) {:action=>"index", :controller=>"panel/personal_experience/back_end/tags"} + POST /panel/personal_experience/back_end/tags(.:format) {:action=>"create", :controller=>"panel/personal_experience/back_end/tags"} + new_panel_personal_experience_back_end_tag GET /panel/personal_experience/back_end/tags/new(.:format) {:action=>"new", :controller=>"panel/personal_experience/back_end/tags"} + edit_panel_personal_experience_back_end_tag GET /panel/personal_experience/back_end/tags/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_experience/back_end/tags"} + panel_personal_experience_back_end_tag GET /panel/personal_experience/back_end/tags/:id(.:format) {:action=>"show", :controller=>"panel/personal_experience/back_end/tags"} + PUT /panel/personal_experience/back_end/tags/:id(.:format) {:action=>"update", :controller=>"panel/personal_experience/back_end/tags"} + DELETE /panel/personal_experience/back_end/tags/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_experience/back_end/tags"} + panel_personal_experience_front_end_experiences GET /panel/personal_experience/front_end/experiences(.:format) {:action=>"index", :controller=>"panel/personal_experience/front_end/experiences"} + POST /panel/personal_experience/front_end/experiences(.:format) {:action=>"create", :controller=>"panel/personal_experience/front_end/experiences"} + new_panel_personal_experience_front_end_experience GET /panel/personal_experience/front_end/experiences/new(.:format) {:action=>"new", :controller=>"panel/personal_experience/front_end/experiences"} + edit_panel_personal_experience_front_end_experience GET /panel/personal_experience/front_end/experiences/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_experience/front_end/experiences"} + panel_personal_experience_front_end_experience GET /panel/personal_experience/front_end/experiences/:id(.:format) {:action=>"show", :controller=>"panel/personal_experience/front_end/experiences"} + PUT /panel/personal_experience/front_end/experiences/:id(.:format) {:action=>"update", :controller=>"panel/personal_experience/front_end/experiences"} + DELETE /panel/personal_experience/front_end/experiences/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_experience/front_end/experiences"} + panel_personal_experience_plugin_experiences GET /panel/personal_experience/plugin/experiences(.:format) {:action=>"index", :controller=>"panel/personal_experience/plugin/experiences"} + POST /panel/personal_experience/plugin/experiences(.:format) {:action=>"create", :controller=>"panel/personal_experience/plugin/experiences"} + new_panel_personal_experience_plugin_experience GET /panel/personal_experience/plugin/experiences/new(.:format) {:action=>"new", :controller=>"panel/personal_experience/plugin/experiences"} + edit_panel_personal_experience_plugin_experience GET /panel/personal_experience/plugin/experiences/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_experience/plugin/experiences"} + panel_personal_experience_plugin_experience GET /panel/personal_experience/plugin/experiences/:id(.:format) {:action=>"show", :controller=>"panel/personal_experience/plugin/experiences"} + PUT /panel/personal_experience/plugin/experiences/:id(.:format) {:action=>"update", :controller=>"panel/personal_experience/plugin/experiences"} + DELETE /panel/personal_experience/plugin/experiences/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_experience/plugin/experiences"} + panel_personal_experience_widget_experiences /panel/personal_experience/widget/experiences(.:format) {:action=>"index", :controller=>"panel/personal_experience/widget/experiences"} + panel_personal_experience_widget_home_list /panel/personal_experience/widget/home_list(.:format) {:action=>"home_list", :controller=>"panel/personal_experience/widget/experiences"} + panel_personal_experience_widget_reload_experiences /panel/personal_experience/widget/reload_experiences(.:format) {:action=>"reload_experiences", :controller=>"panel/personal_experience/widget/experiences"} + /appfront/*path(.:format) {:path=>/.+?/, :to=>#} + panel_personal_diploma_back_end_diploma_setting /panel/personal_diploma/back_end/diploma_setting(.:format) {:action=>"diploma_setting", :controller=>"panel/personal_diploma/back_end/diplomas"} + delete_panel_personal_diploma_back_end_diplomas GET /panel/personal_diploma/back_end/diplomas/delete(.:format) {:action=>"delete", :controller=>"panel/personal_diploma/back_end/diplomas"} + panel_personal_diploma_back_end_diplomas GET /panel/personal_diploma/back_end/diplomas(.:format) {:action=>"index", :controller=>"panel/personal_diploma/back_end/diplomas"} + POST /panel/personal_diploma/back_end/diplomas(.:format) {:action=>"create", :controller=>"panel/personal_diploma/back_end/diplomas"} + new_panel_personal_diploma_back_end_diploma GET /panel/personal_diploma/back_end/diplomas/new(.:format) {:action=>"new", :controller=>"panel/personal_diploma/back_end/diplomas"} + edit_panel_personal_diploma_back_end_diploma GET /panel/personal_diploma/back_end/diplomas/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_diploma/back_end/diplomas"} + panel_personal_diploma_back_end_diploma GET /panel/personal_diploma/back_end/diplomas/:id(.:format) {:action=>"show", :controller=>"panel/personal_diploma/back_end/diplomas"} + PUT /panel/personal_diploma/back_end/diplomas/:id(.:format) {:action=>"update", :controller=>"panel/personal_diploma/back_end/diplomas"} + DELETE /panel/personal_diploma/back_end/diplomas/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_diploma/back_end/diplomas"} + panel_personal_diploma_back_end_tags GET /panel/personal_diploma/back_end/tags(.:format) {:action=>"index", :controller=>"panel/personal_diploma/back_end/tags"} + POST /panel/personal_diploma/back_end/tags(.:format) {:action=>"create", :controller=>"panel/personal_diploma/back_end/tags"} + new_panel_personal_diploma_back_end_tag GET /panel/personal_diploma/back_end/tags/new(.:format) {:action=>"new", :controller=>"panel/personal_diploma/back_end/tags"} + edit_panel_personal_diploma_back_end_tag GET /panel/personal_diploma/back_end/tags/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_diploma/back_end/tags"} + panel_personal_diploma_back_end_tag GET /panel/personal_diploma/back_end/tags/:id(.:format) {:action=>"show", :controller=>"panel/personal_diploma/back_end/tags"} + PUT /panel/personal_diploma/back_end/tags/:id(.:format) {:action=>"update", :controller=>"panel/personal_diploma/back_end/tags"} + DELETE /panel/personal_diploma/back_end/tags/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_diploma/back_end/tags"} + panel_personal_diploma_front_end_diplomas GET /panel/personal_diploma/front_end/diplomas(.:format) {:action=>"index", :controller=>"panel/personal_diploma/front_end/diplomas"} + POST /panel/personal_diploma/front_end/diplomas(.:format) {:action=>"create", :controller=>"panel/personal_diploma/front_end/diplomas"} + new_panel_personal_diploma_front_end_diploma GET /panel/personal_diploma/front_end/diplomas/new(.:format) {:action=>"new", :controller=>"panel/personal_diploma/front_end/diplomas"} + edit_panel_personal_diploma_front_end_diploma GET /panel/personal_diploma/front_end/diplomas/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_diploma/front_end/diplomas"} + panel_personal_diploma_front_end_diploma GET /panel/personal_diploma/front_end/diplomas/:id(.:format) {:action=>"show", :controller=>"panel/personal_diploma/front_end/diplomas"} + PUT /panel/personal_diploma/front_end/diplomas/:id(.:format) {:action=>"update", :controller=>"panel/personal_diploma/front_end/diplomas"} + DELETE /panel/personal_diploma/front_end/diplomas/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_diploma/front_end/diplomas"} + panel_personal_diploma_plugin_diplomas GET /panel/personal_diploma/plugin/diplomas(.:format) {:action=>"index", :controller=>"panel/personal_diploma/plugin/diplomas"} + POST /panel/personal_diploma/plugin/diplomas(.:format) {:action=>"create", :controller=>"panel/personal_diploma/plugin/diplomas"} + new_panel_personal_diploma_plugin_diploma GET /panel/personal_diploma/plugin/diplomas/new(.:format) {:action=>"new", :controller=>"panel/personal_diploma/plugin/diplomas"} + edit_panel_personal_diploma_plugin_diploma GET /panel/personal_diploma/plugin/diplomas/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_diploma/plugin/diplomas"} + panel_personal_diploma_plugin_diploma GET /panel/personal_diploma/plugin/diplomas/:id(.:format) {:action=>"show", :controller=>"panel/personal_diploma/plugin/diplomas"} + PUT /panel/personal_diploma/plugin/diplomas/:id(.:format) {:action=>"update", :controller=>"panel/personal_diploma/plugin/diplomas"} + DELETE /panel/personal_diploma/plugin/diplomas/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_diploma/plugin/diplomas"} + panel_personal_diploma_widget_diplomas /panel/personal_diploma/widget/diplomas(.:format) {:action=>"index", :controller=>"panel/personal_diploma/widget/diplomas"} + panel_personal_diploma_widget_home_list /panel/personal_diploma/widget/home_list(.:format) {:action=>"home_list", :controller=>"panel/personal_diploma/widget/diplomas"} + panel_personal_diploma_widget_reload_diplomas /panel/personal_diploma/widget/reload_diplomas(.:format) {:action=>"reload_diplomas", :controller=>"panel/personal_diploma/widget/diplomas"} + /appfront/*path(.:format) {:path=>/.+?/, :to=>#} + panel_personal_book_back_end_writing_book_setting /panel/personal_book/back_end/writing_book_setting(.:format) {:action=>"writing_book_setting", :controller=>"panel/personal_book/back_end/writing_books"} + delete_panel_personal_book_back_end_writing_books GET /panel/personal_book/back_end/writing_books/delete(.:format) {:action=>"delete", :controller=>"panel/personal_book/back_end/writing_books"} + panel_personal_book_back_end_writing_book_author_type_quick_add /panel/personal_book/back_end/writing_books/:writing_book_id/author_type_quick_add(.:format) {:action=>"author_type_quick_add", :controller=>"panel/personal_book/back_end/writing_books"} + panel_personal_book_back_end_writing_book_author_type_quick_edit /panel/personal_book/back_end/writing_books/:writing_book_id/author_type_quick_edit(.:format) {:action=>"author_type_quick_edit", :controller=>"panel/personal_book/back_end/writing_books"} + panel_personal_book_back_end_writing_book_paper_type_quick_add /panel/personal_book/back_end/writing_books/:writing_book_id/paper_type_quick_add(.:format) {:action=>"paper_type_quick_add", :controller=>"panel/personal_book/back_end/writing_books"} + panel_personal_book_back_end_writing_book_paper_type_quick_edit /panel/personal_book/back_end/writing_books/:writing_book_id/paper_type_quick_edit(.:format) {:action=>"paper_type_quick_edit", :controller=>"panel/personal_book/back_end/writing_books"} + panel_personal_book_back_end_writing_books GET /panel/personal_book/back_end/writing_books(.:format) {:action=>"index", :controller=>"panel/personal_book/back_end/writing_books"} + POST /panel/personal_book/back_end/writing_books(.:format) {:action=>"create", :controller=>"panel/personal_book/back_end/writing_books"} + new_panel_personal_book_back_end_writing_book GET /panel/personal_book/back_end/writing_books/new(.:format) {:action=>"new", :controller=>"panel/personal_book/back_end/writing_books"} + edit_panel_personal_book_back_end_writing_book GET /panel/personal_book/back_end/writing_books/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_book/back_end/writing_books"} + panel_personal_book_back_end_writing_book GET /panel/personal_book/back_end/writing_books/:id(.:format) {:action=>"show", :controller=>"panel/personal_book/back_end/writing_books"} + PUT /panel/personal_book/back_end/writing_books/:id(.:format) {:action=>"update", :controller=>"panel/personal_book/back_end/writing_books"} + DELETE /panel/personal_book/back_end/writing_books/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_book/back_end/writing_books"} + panel_personal_book_back_end_book_paper_types GET /panel/personal_book/back_end/book_paper_types(.:format) {:action=>"index", :controller=>"panel/personal_book/back_end/book_paper_types"} + POST /panel/personal_book/back_end/book_paper_types(.:format) {:action=>"create", :controller=>"panel/personal_book/back_end/book_paper_types"} + new_panel_personal_book_back_end_book_paper_type GET /panel/personal_book/back_end/book_paper_types/new(.:format) {:action=>"new", :controller=>"panel/personal_book/back_end/book_paper_types"} + edit_panel_personal_book_back_end_book_paper_type GET /panel/personal_book/back_end/book_paper_types/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_book/back_end/book_paper_types"} + panel_personal_book_back_end_book_paper_type GET /panel/personal_book/back_end/book_paper_types/:id(.:format) {:action=>"show", :controller=>"panel/personal_book/back_end/book_paper_types"} + PUT /panel/personal_book/back_end/book_paper_types/:id(.:format) {:action=>"update", :controller=>"panel/personal_book/back_end/book_paper_types"} + DELETE /panel/personal_book/back_end/book_paper_types/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_book/back_end/book_paper_types"} + panel_personal_book_back_end_book_author_types GET /panel/personal_book/back_end/book_author_types(.:format) {:action=>"index", :controller=>"panel/personal_book/back_end/book_author_types"} + POST /panel/personal_book/back_end/book_author_types(.:format) {:action=>"create", :controller=>"panel/personal_book/back_end/book_author_types"} + new_panel_personal_book_back_end_book_author_type GET /panel/personal_book/back_end/book_author_types/new(.:format) {:action=>"new", :controller=>"panel/personal_book/back_end/book_author_types"} + edit_panel_personal_book_back_end_book_author_type GET /panel/personal_book/back_end/book_author_types/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_book/back_end/book_author_types"} + panel_personal_book_back_end_book_author_type GET /panel/personal_book/back_end/book_author_types/:id(.:format) {:action=>"show", :controller=>"panel/personal_book/back_end/book_author_types"} + PUT /panel/personal_book/back_end/book_author_types/:id(.:format) {:action=>"update", :controller=>"panel/personal_book/back_end/book_author_types"} + DELETE /panel/personal_book/back_end/book_author_types/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_book/back_end/book_author_types"} + panel_personal_book_back_end_tags GET /panel/personal_book/back_end/tags(.:format) {:action=>"index", :controller=>"panel/personal_book/back_end/tags"} + POST /panel/personal_book/back_end/tags(.:format) {:action=>"create", :controller=>"panel/personal_book/back_end/tags"} + new_panel_personal_book_back_end_tag GET /panel/personal_book/back_end/tags/new(.:format) {:action=>"new", :controller=>"panel/personal_book/back_end/tags"} + edit_panel_personal_book_back_end_tag GET /panel/personal_book/back_end/tags/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_book/back_end/tags"} + panel_personal_book_back_end_tag GET /panel/personal_book/back_end/tags/:id(.:format) {:action=>"show", :controller=>"panel/personal_book/back_end/tags"} + PUT /panel/personal_book/back_end/tags/:id(.:format) {:action=>"update", :controller=>"panel/personal_book/back_end/tags"} + DELETE /panel/personal_book/back_end/tags/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_book/back_end/tags"} + panel_personal_book_front_end_writing_books GET /panel/personal_book/front_end/writing_books(.:format) {:action=>"index", :controller=>"panel/personal_book/front_end/writing_books"} + POST /panel/personal_book/front_end/writing_books(.:format) {:action=>"create", :controller=>"panel/personal_book/front_end/writing_books"} + new_panel_personal_book_front_end_writing_book GET /panel/personal_book/front_end/writing_books/new(.:format) {:action=>"new", :controller=>"panel/personal_book/front_end/writing_books"} + edit_panel_personal_book_front_end_writing_book GET /panel/personal_book/front_end/writing_books/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_book/front_end/writing_books"} + panel_personal_book_front_end_writing_book GET /panel/personal_book/front_end/writing_books/:id(.:format) {:action=>"show", :controller=>"panel/personal_book/front_end/writing_books"} + PUT /panel/personal_book/front_end/writing_books/:id(.:format) {:action=>"update", :controller=>"panel/personal_book/front_end/writing_books"} + DELETE /panel/personal_book/front_end/writing_books/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_book/front_end/writing_books"} + panel_personal_book_plugin_writing_books GET /panel/personal_book/plugin/writing_books(.:format) {:action=>"index", :controller=>"panel/personal_book/plugin/writing_books"} + POST /panel/personal_book/plugin/writing_books(.:format) {:action=>"create", :controller=>"panel/personal_book/plugin/writing_books"} + new_panel_personal_book_plugin_writing_book GET /panel/personal_book/plugin/writing_books/new(.:format) {:action=>"new", :controller=>"panel/personal_book/plugin/writing_books"} + edit_panel_personal_book_plugin_writing_book GET /panel/personal_book/plugin/writing_books/:id/edit(.:format) {:action=>"edit", :controller=>"panel/personal_book/plugin/writing_books"} + panel_personal_book_plugin_writing_book GET /panel/personal_book/plugin/writing_books/:id(.:format) {:action=>"show", :controller=>"panel/personal_book/plugin/writing_books"} + PUT /panel/personal_book/plugin/writing_books/:id(.:format) {:action=>"update", :controller=>"panel/personal_book/plugin/writing_books"} + DELETE /panel/personal_book/plugin/writing_books/:id(.:format) {:action=>"destroy", :controller=>"panel/personal_book/plugin/writing_books"} + panel_personal_book_widget_writing_books /panel/personal_book/widget/writing_books(.:format) {:action=>"index", :controller=>"panel/personal_book/widget/writing_books"} + panel_personal_book_widget_home_list /panel/personal_book/widget/home_list(.:format) {:action=>"home_list", :controller=>"panel/personal_book/widget/writing_books"} + panel_personal_book_widget_reload_writing_books /panel/personal_book/widget/reload_writing_books(.:format) {:action=>"reload_writing_books", :controller=>"panel/personal_book/widget/writing_books"} + /appfront/*path(.:format) {:path=>/.+?/, :to=>#} + panel_page_content_back_end_root /panel/page_content/back_end(.:format) {:controller=>"panel/page_content/back_end/page_contexts", :action=>"index"} + panel_page_content_back_end_page_contexts GET /panel/page_content/back_end/page_contexts(.:format) {:action=>"index", :controller=>"panel/page_content/back_end/page_contexts"} + POST /panel/page_content/back_end/page_contexts(.:format) {:action=>"create", :controller=>"panel/page_content/back_end/page_contexts"} + new_panel_page_content_back_end_page_context GET /panel/page_content/back_end/page_contexts/new(.:format) {:action=>"new", :controller=>"panel/page_content/back_end/page_contexts"} + edit_panel_page_content_back_end_page_context GET /panel/page_content/back_end/page_contexts/:id/edit(.:format) {:action=>"edit", :controller=>"panel/page_content/back_end/page_contexts"} + panel_page_content_back_end_page_context GET /panel/page_content/back_end/page_contexts/:id(.:format) {:action=>"show", :controller=>"panel/page_content/back_end/page_contexts"} + PUT /panel/page_content/back_end/page_contexts/:id(.:format) {:action=>"update", :controller=>"panel/page_content/back_end/page_contexts"} + DELETE /panel/page_content/back_end/page_contexts/:id(.:format) {:action=>"destroy", :controller=>"panel/page_content/back_end/page_contexts"} + panel_page_content_back_end_view /panel/page_content/back_end/view/:page_id(.:format) {:controller=>"panel/page_content/back_end/page_contexts", :action=>"view"} + panel_page_content_front_end_root /panel/page_content/front_end(.:format) {:controller=>"panel/page_content/front_end/page_contexts", :action=>"index"} + panel_page_content_front_end_page_contexts GET /panel/page_content/front_end/page_contexts(.:format) {:action=>"index", :controller=>"panel/page_content/front_end/page_contexts"} + POST /panel/page_content/front_end/page_contexts(.:format) {:action=>"create", :controller=>"panel/page_content/front_end/page_contexts"} + new_panel_page_content_front_end_page_context GET /panel/page_content/front_end/page_contexts/new(.:format) {:action=>"new", :controller=>"panel/page_content/front_end/page_contexts"} + edit_panel_page_content_front_end_page_context GET /panel/page_content/front_end/page_contexts/:id/edit(.:format) {:action=>"edit", :controller=>"panel/page_content/front_end/page_contexts"} + panel_page_content_front_end_page_context GET /panel/page_content/front_end/page_contexts/:id(.:format) {:action=>"show", :controller=>"panel/page_content/front_end/page_contexts"} + PUT /panel/page_content/front_end/page_contexts/:id(.:format) {:action=>"update", :controller=>"panel/page_content/front_end/page_contexts"} + DELETE /panel/page_content/front_end/page_contexts/:id(.:format) {:action=>"destroy", :controller=>"panel/page_content/front_end/page_contexts"} + panel_page_content_front_end /panel/page_content/front_end/page_contexts/:page_id(.:format) {:controller=>"panel/page_content/front_end/page_contexts", :action=>"index"} + /appfront/*path(.:format) {:path=>/.+?/, :to=>#} + panel_gprs_back_end_locations_get_locations /panel/gprs/back_end/locations/get_locations(.:format) {:controller=>"panel/gprs/back_end/locations", :action=>"get_locations"} + panel_gprs_back_end_locations GET /panel/gprs/back_end/locations(.:format) {:action=>"index", :controller=>"panel/gprs/back_end/locations"} + POST /panel/gprs/back_end/locations(.:format) {:action=>"create", :controller=>"panel/gprs/back_end/locations"} + new_panel_gprs_back_end_location GET /panel/gprs/back_end/locations/new(.:format) {:action=>"new", :controller=>"panel/gprs/back_end/locations"} + edit_panel_gprs_back_end_location GET /panel/gprs/back_end/locations/:id/edit(.:format) {:action=>"edit", :controller=>"panel/gprs/back_end/locations"} + panel_gprs_back_end_location GET /panel/gprs/back_end/locations/:id(.:format) {:action=>"show", :controller=>"panel/gprs/back_end/locations"} + PUT /panel/gprs/back_end/locations/:id(.:format) {:action=>"update", :controller=>"panel/gprs/back_end/locations"} + DELETE /panel/gprs/back_end/locations/:id(.:format) {:action=>"destroy", :controller=>"panel/gprs/back_end/locations"} + panel_gallery_back_end_get_albums /panel/gallery/back_end/get_albums(.:format) {:action=>"get_albums", :controller=>"panel/gallery/back_end/albums"} + panel_gallery_back_end_upload_image /panel/gallery/back_end/upload_image(.:format) {:action=>"upload_image", :controller=>"panel/gallery/back_end/albums"} + panel_gallery_back_end_save_tags /panel/gallery/back_end/save_tags(.:format) {:action=>"save_tags", :controller=>"panel/gallery/back_end/tags"} + panel_gallery_back_end_albums_save_tags /panel/gallery/back_end/albums/save_tags(.:format) {:controller=>"panel/gallery/back_end/tags", :action=>"save_tags"} + panel_gallery_back_end_album_set_cover /panel/gallery/back_end/albums/:album_id/set_cover(.:format) {:action=>"set_cover", :controller=>"panel/gallery/back_end/albums"} + panel_gallery_back_end_album_imgs /panel/gallery/back_end/albums/:album_id/imgs(.:format) {:action=>"imgs", :controller=>"panel/gallery/back_end/albums"} + panel_gallery_back_end_album_upload_panel /panel/gallery/back_end/albums/:album_id/upload_panel(.:format) {:action=>"upload_panel", :controller=>"panel/gallery/back_end/albums"} + panel_gallery_back_end_album_images_tags /panel/gallery/back_end/albums/:album_id/images_tags(.:format) {:action=>"images_tags", :controller=>"panel/gallery/back_end/albums"} + panel_gallery_back_end_album_get_imgs_json /panel/gallery/back_end/albums/:album_id/get_imgs_json(.:format) {:action=>"get_imgs_json", :controller=>"panel/gallery/back_end/albums"} + get_album_json_panel_gallery_back_end_albums GET /panel/gallery/back_end/albums/get_album_json(.:format) {:action=>"get_album_json", :controller=>"panel/gallery/back_end/albums"} + panel_gallery_back_end_albums GET /panel/gallery/back_end/albums(.:format) {:action=>"index", :controller=>"panel/gallery/back_end/albums"} + POST /panel/gallery/back_end/albums(.:format) {:action=>"create", :controller=>"panel/gallery/back_end/albums"} + new_panel_gallery_back_end_album GET /panel/gallery/back_end/albums/new(.:format) {:action=>"new", :controller=>"panel/gallery/back_end/albums"} + edit_panel_gallery_back_end_album GET /panel/gallery/back_end/albums/:id/edit(.:format) {:action=>"edit", :controller=>"panel/gallery/back_end/albums"} + panel_gallery_back_end_album GET /panel/gallery/back_end/albums/:id(.:format) {:action=>"show", :controller=>"panel/gallery/back_end/albums"} + PUT /panel/gallery/back_end/albums/:id(.:format) {:action=>"update", :controller=>"panel/gallery/back_end/albums"} + DELETE /panel/gallery/back_end/albums/:id(.:format) {:action=>"destroy", :controller=>"panel/gallery/back_end/albums"} + panel_gallery_back_end /panel/gallery/back_end/album_images/#!/:id(.:format) {:controller=>"panel/gallery/back_end/album_images", :action=>"show"} + panel_gallery_back_end_album_images GET /panel/gallery/back_end/album_images(.:format) {:action=>"index", :controller=>"panel/gallery/back_end/album_images"} + POST /panel/gallery/back_end/album_images(.:format) {:action=>"create", :controller=>"panel/gallery/back_end/album_images"} + new_panel_gallery_back_end_album_image GET /panel/gallery/back_end/album_images/new(.:format) {:action=>"new", :controller=>"panel/gallery/back_end/album_images"} + edit_panel_gallery_back_end_album_image GET /panel/gallery/back_end/album_images/:id/edit(.:format) {:action=>"edit", :controller=>"panel/gallery/back_end/album_images"} + panel_gallery_back_end_album_image GET /panel/gallery/back_end/album_images/:id(.:format) {:action=>"show", :controller=>"panel/gallery/back_end/album_images"} + PUT /panel/gallery/back_end/album_images/:id(.:format) {:action=>"update", :controller=>"panel/gallery/back_end/album_images"} + DELETE /panel/gallery/back_end/album_images/:id(.:format) {:action=>"destroy", :controller=>"panel/gallery/back_end/album_images"} + panel_gallery_back_end_gallery_categories GET /panel/gallery/back_end/gallery_categories(.:format) {:action=>"index", :controller=>"panel/gallery/back_end/gallery_categories"} + POST /panel/gallery/back_end/gallery_categories(.:format) {:action=>"create", :controller=>"panel/gallery/back_end/gallery_categories"} + new_panel_gallery_back_end_gallery_category GET /panel/gallery/back_end/gallery_categories/new(.:format) {:action=>"new", :controller=>"panel/gallery/back_end/gallery_categories"} + edit_panel_gallery_back_end_gallery_category GET /panel/gallery/back_end/gallery_categories/:id/edit(.:format) {:action=>"edit", :controller=>"panel/gallery/back_end/gallery_categories"} + panel_gallery_back_end_gallery_category GET /panel/gallery/back_end/gallery_categories/:id(.:format) {:action=>"show", :controller=>"panel/gallery/back_end/gallery_categories"} + PUT /panel/gallery/back_end/gallery_categories/:id(.:format) {:action=>"update", :controller=>"panel/gallery/back_end/gallery_categories"} + DELETE /panel/gallery/back_end/gallery_categories/:id(.:format) {:action=>"destroy", :controller=>"panel/gallery/back_end/gallery_categories"} + panel_gallery_back_end_tags GET /panel/gallery/back_end/tags(.:format) {:action=>"index", :controller=>"panel/gallery/back_end/tags"} + POST /panel/gallery/back_end/tags(.:format) {:action=>"create", :controller=>"panel/gallery/back_end/tags"} + new_panel_gallery_back_end_tag GET /panel/gallery/back_end/tags/new(.:format) {:action=>"new", :controller=>"panel/gallery/back_end/tags"} + edit_panel_gallery_back_end_tag GET /panel/gallery/back_end/tags/:id/edit(.:format) {:action=>"edit", :controller=>"panel/gallery/back_end/tags"} + panel_gallery_back_end_tag GET /panel/gallery/back_end/tags/:id(.:format) {:action=>"show", :controller=>"panel/gallery/back_end/tags"} + PUT /panel/gallery/back_end/tags/:id(.:format) {:action=>"update", :controller=>"panel/gallery/back_end/tags"} + DELETE /panel/gallery/back_end/tags/:id(.:format) {:action=>"destroy", :controller=>"panel/gallery/back_end/tags"} + panel_gallery_front_end_orbit_galleries /panel/gallery/front_end/orbit_galleries(.:format) {:action=>"index", :controller=>"panel/gallery/front_end/orbit_galleries"} + panel_gallery_front_end_get_albums /panel/gallery/front_end/get_albums(.:format) {:action=>"get_albums", :controller=>"panel/gallery/front_end/albums"} + imgs_panel_gallery_front_end_album GET /panel/gallery/front_end/albums/:id/imgs(.:format) {:action=>"imgs", :controller=>"panel/gallery/front_end/albums"} + theater_panel_gallery_front_end_album GET /panel/gallery/front_end/albums/:id/theater(.:format) {:action=>"theater", :controller=>"panel/gallery/front_end/albums"} + panel_gallery_front_end_albums GET /panel/gallery/front_end/albums(.:format) {:action=>"index", :controller=>"panel/gallery/front_end/albums"} + POST /panel/gallery/front_end/albums(.:format) {:action=>"create", :controller=>"panel/gallery/front_end/albums"} + new_panel_gallery_front_end_album GET /panel/gallery/front_end/albums/new(.:format) {:action=>"new", :controller=>"panel/gallery/front_end/albums"} + edit_panel_gallery_front_end_album GET /panel/gallery/front_end/albums/:id/edit(.:format) {:action=>"edit", :controller=>"panel/gallery/front_end/albums"} + panel_gallery_front_end_album GET /panel/gallery/front_end/albums/:id(.:format) {:action=>"show", :controller=>"panel/gallery/front_end/albums"} + PUT /panel/gallery/front_end/albums/:id(.:format) {:action=>"update", :controller=>"panel/gallery/front_end/albums"} + DELETE /panel/gallery/front_end/albums/:id(.:format) {:action=>"destroy", :controller=>"panel/gallery/front_end/albums"} + panel_gallery_front_end_album_images GET /panel/gallery/front_end/album_images(.:format) {:action=>"index", :controller=>"panel/gallery/front_end/album_images"} + POST /panel/gallery/front_end/album_images(.:format) {:action=>"create", :controller=>"panel/gallery/front_end/album_images"} + new_panel_gallery_front_end_album_image GET /panel/gallery/front_end/album_images/new(.:format) {:action=>"new", :controller=>"panel/gallery/front_end/album_images"} + edit_panel_gallery_front_end_album_image GET /panel/gallery/front_end/album_images/:id/edit(.:format) {:action=>"edit", :controller=>"panel/gallery/front_end/album_images"} + panel_gallery_front_end_album_image GET /panel/gallery/front_end/album_images/:id(.:format) {:action=>"show", :controller=>"panel/gallery/front_end/album_images"} + PUT /panel/gallery/front_end/album_images/:id(.:format) {:action=>"update", :controller=>"panel/gallery/front_end/album_images"} + DELETE /panel/gallery/front_end/album_images/:id(.:format) {:action=>"destroy", :controller=>"panel/gallery/front_end/album_images"} + panel_gallery_widget_widget1 /panel/gallery/widget/widget1(.:format) {:action=>"widget1", :controller=>"panel/gallery/widget/albums"} + panel_calendar_back_end_cals_agenda_view GET /panel/calendar/back_end/cals/agenda_view(.:format) {:controller=>"panel/calendar/back_end/cals", :action=>"agenda_view"} + panel_calendar_back_end_cals_month_view GET /panel/calendar/back_end/cals/month_view(.:format) {:controller=>"panel/calendar/back_end/cals", :action=>"month_view"} + panel_calendar_back_end_cals_day_view GET /panel/calendar/back_end/cals/day_view(.:format) {:controller=>"panel/calendar/back_end/cals", :action=>"day_view"} + panel_calendar_back_end_cals_week_view GET /panel/calendar/back_end/cals/week_view(.:format) {:controller=>"panel/calendar/back_end/cals", :action=>"week_view"} + panel_calendar_back_end_cals_getMonthEvents GET /panel/calendar/back_end/cals/getMonthEvents(.:format) {:controller=>"panel/calendar/back_end/cals", :action=>"get_month_events"} + panel_calendar_back_end_cals_getWeekEvents GET /panel/calendar/back_end/cals/getWeekEvents(.:format) {:controller=>"panel/calendar/back_end/cals", :action=>"get_week_events"} + panel_calendar_back_end_cals_getDayEvents GET /panel/calendar/back_end/cals/getDayEvents(.:format) {:controller=>"panel/calendar/back_end/cals", :action=>"get_day_events"} + panel_calendar_back_end_cals GET /panel/calendar/back_end/cals(.:format) {:action=>"index", :controller=>"panel/calendar/back_end/cals"} + POST /panel/calendar/back_end/cals(.:format) {:action=>"create", :controller=>"panel/calendar/back_end/cals"} + new_panel_calendar_back_end_cal GET /panel/calendar/back_end/cals/new(.:format) {:action=>"new", :controller=>"panel/calendar/back_end/cals"} + edit_panel_calendar_back_end_cal GET /panel/calendar/back_end/cals/:id/edit(.:format) {:action=>"edit", :controller=>"panel/calendar/back_end/cals"} + panel_calendar_back_end_cal GET /panel/calendar/back_end/cals/:id(.:format) {:action=>"show", :controller=>"panel/calendar/back_end/cals"} + PUT /panel/calendar/back_end/cals/:id(.:format) {:action=>"update", :controller=>"panel/calendar/back_end/cals"} + DELETE /panel/calendar/back_end/cals/:id(.:format) {:action=>"destroy", :controller=>"panel/calendar/back_end/cals"} + panel_calendar_back_end_events GET /panel/calendar/back_end/events(.:format) {:action=>"index", :controller=>"panel/calendar/back_end/events"} + POST /panel/calendar/back_end/events(.:format) {:action=>"create", :controller=>"panel/calendar/back_end/events"} + new_panel_calendar_back_end_event GET /panel/calendar/back_end/events/new(.:format) {:action=>"new", :controller=>"panel/calendar/back_end/events"} + edit_panel_calendar_back_end_event GET /panel/calendar/back_end/events/:id/edit(.:format) {:action=>"edit", :controller=>"panel/calendar/back_end/events"} + panel_calendar_back_end_event GET /panel/calendar/back_end/events/:id(.:format) {:action=>"show", :controller=>"panel/calendar/back_end/events"} + PUT /panel/calendar/back_end/events/:id(.:format) {:action=>"update", :controller=>"panel/calendar/back_end/events"} + DELETE /panel/calendar/back_end/events/:id(.:format) {:action=>"destroy", :controller=>"panel/calendar/back_end/events"} + panel_calendar_back_end_tags GET /panel/calendar/back_end/tags(.:format) {:action=>"index", :controller=>"panel/calendar/back_end/tags"} + POST /panel/calendar/back_end/tags(.:format) {:action=>"create", :controller=>"panel/calendar/back_end/tags"} + new_panel_calendar_back_end_tag GET /panel/calendar/back_end/tags/new(.:format) {:action=>"new", :controller=>"panel/calendar/back_end/tags"} + edit_panel_calendar_back_end_tag GET /panel/calendar/back_end/tags/:id/edit(.:format) {:action=>"edit", :controller=>"panel/calendar/back_end/tags"} + panel_calendar_back_end_tag GET /panel/calendar/back_end/tags/:id(.:format) {:action=>"show", :controller=>"panel/calendar/back_end/tags"} + PUT /panel/calendar/back_end/tags/:id(.:format) {:action=>"update", :controller=>"panel/calendar/back_end/tags"} + DELETE /panel/calendar/back_end/tags/:id(.:format) {:action=>"destroy", :controller=>"panel/calendar/back_end/tags"} + panel_archive_back_end_root /panel/archive/back_end(.:format) {:controller=>"panel/archive/back_end/archive_files", :action=>"index"} + panel_archive_back_end_archive_files GET /panel/archive/back_end/archive_files(.:format) {:action=>"index", :controller=>"panel/archive/back_end/archive_files"} + POST /panel/archive/back_end/archive_files(.:format) {:action=>"create", :controller=>"panel/archive/back_end/archive_files"} + new_panel_archive_back_end_archive_file GET /panel/archive/back_end/archive_files/new(.:format) {:action=>"new", :controller=>"panel/archive/back_end/archive_files"} + edit_panel_archive_back_end_archive_file GET /panel/archive/back_end/archive_files/:id/edit(.:format) {:action=>"edit", :controller=>"panel/archive/back_end/archive_files"} + panel_archive_back_end_archive_file GET /panel/archive/back_end/archive_files/:id(.:format) {:action=>"show", :controller=>"panel/archive/back_end/archive_files"} + PUT /panel/archive/back_end/archive_files/:id(.:format) {:action=>"update", :controller=>"panel/archive/back_end/archive_files"} + DELETE /panel/archive/back_end/archive_files/:id(.:format) {:action=>"destroy", :controller=>"panel/archive/back_end/archive_files"} + panel_archive_back_end_archive_file_categorys GET /panel/archive/back_end/archive_file_categorys(.:format) {:action=>"index", :controller=>"panel/archive/back_end/archive_file_categorys"} + POST /panel/archive/back_end/archive_file_categorys(.:format) {:action=>"create", :controller=>"panel/archive/back_end/archive_file_categorys"} + new_panel_archive_back_end_archive_file_category GET /panel/archive/back_end/archive_file_categorys/new(.:format) {:action=>"new", :controller=>"panel/archive/back_end/archive_file_categorys"} + edit_panel_archive_back_end_archive_file_category GET /panel/archive/back_end/archive_file_categorys/:id/edit(.:format) {:action=>"edit", :controller=>"panel/archive/back_end/archive_file_categorys"} + panel_archive_back_end_archive_file_category GET /panel/archive/back_end/archive_file_categorys/:id(.:format) {:action=>"show", :controller=>"panel/archive/back_end/archive_file_categorys"} + PUT /panel/archive/back_end/archive_file_categorys/:id(.:format) {:action=>"update", :controller=>"panel/archive/back_end/archive_file_categorys"} + DELETE /panel/archive/back_end/archive_file_categorys/:id(.:format) {:action=>"destroy", :controller=>"panel/archive/back_end/archive_file_categorys"} + panel_archive_back_end_tags GET /panel/archive/back_end/tags(.:format) {:action=>"index", :controller=>"panel/archive/back_end/tags"} + POST /panel/archive/back_end/tags(.:format) {:action=>"create", :controller=>"panel/archive/back_end/tags"} + new_panel_archive_back_end_tag GET /panel/archive/back_end/tags/new(.:format) {:action=>"new", :controller=>"panel/archive/back_end/tags"} + edit_panel_archive_back_end_tag GET /panel/archive/back_end/tags/:id/edit(.:format) {:action=>"edit", :controller=>"panel/archive/back_end/tags"} + panel_archive_back_end_tag GET /panel/archive/back_end/tags/:id(.:format) {:action=>"show", :controller=>"panel/archive/back_end/tags"} + PUT /panel/archive/back_end/tags/:id(.:format) {:action=>"update", :controller=>"panel/archive/back_end/tags"} + DELETE /panel/archive/back_end/tags/:id(.:format) {:action=>"destroy", :controller=>"panel/archive/back_end/tags"} + panel_archive_front_end_root /panel/archive/front_end(.:format) {:controller=>"panel/archive/front_end/archive_files", :action=>"index"} + panel_archive_front_end_archive_files GET /panel/archive/front_end/archive_files(.:format) {:action=>"index", :controller=>"panel/archive/front_end/archive_files"} + POST /panel/archive/front_end/archive_files(.:format) {:action=>"create", :controller=>"panel/archive/front_end/archive_files"} + new_panel_archive_front_end_archive_file GET /panel/archive/front_end/archive_files/new(.:format) {:action=>"new", :controller=>"panel/archive/front_end/archive_files"} + edit_panel_archive_front_end_archive_file GET /panel/archive/front_end/archive_files/:id/edit(.:format) {:action=>"edit", :controller=>"panel/archive/front_end/archive_files"} + panel_archive_front_end_archive_file GET /panel/archive/front_end/archive_files/:id(.:format) {:action=>"show", :controller=>"panel/archive/front_end/archive_files"} + PUT /panel/archive/front_end/archive_files/:id(.:format) {:action=>"update", :controller=>"panel/archive/front_end/archive_files"} + DELETE /panel/archive/front_end/archive_files/:id(.:format) {:action=>"destroy", :controller=>"panel/archive/front_end/archive_files"} + panel_archive_widget_archive_files /panel/archive/widget/archive_files(.:format) {:action=>"index", :controller=>"panel/archive/widget/archive_files"} + panel_archive_widget_reload_archive_files /panel/archive/widget/reload_archive_files(.:format) {:action=>"reload_archive_files", :controller=>"panel/archive/widget/archive_files"} + /appfront/*path(.:format) {:path=>/.+?/, :to=>#} + panel_announcement_back_end_public /panel/announcement/back_end/public(.:format) {:action=>"public", :controller=>"panel/announcement/back_end/announcements"} + panel_announcement_back_end_approval_setting GET /panel/announcement/back_end/approval_setting(.:format) {:action=>"setting", :controller=>"panel/announcement/back_end/approvals"} + panel_announcement_back_end_approval_setting POST /panel/announcement/back_end/approval_setting(.:format) {:action=>"update_setting", :controller=>"panel/announcement/back_end/approvals"} + panel_announcement_back_end_approval_user_list PUT /panel/announcement/back_end/approval_setting(.:format) {:action=>"user_list", :controller=>"panel/announcement/back_end/approvals"} + panel_announcement_back_end_bulletin_approval_preview PUT /panel/announcement/back_end/bulletins/:bulletin_id/approve/:bulletin_id(.:format) {:controller=>"panel/announcement/back_end/approvals", :action=>"preview_and_approve"} + panel_announcement_back_end_bulletin_approve POST /panel/announcement/back_end/bulletins/:bulletin_id/approve/:bulletin_id(.:format) {:controller=>"panel/announcement/back_end/approvals", :action=>"approve"} + panel_announcement_back_end_bulletin_link_quick_add /panel/announcement/back_end/bulletins/:bulletin_id/link_quick_add/:bulletin_id(.:format) {:controller=>"panel/announcement/back_end/bulletins", :action=>"link_quick_add"} + panel_announcement_back_end_bulletin_link_quick_edit /panel/announcement/back_end/bulletins/:bulletin_id/link_quick_edit/:bulletin_id(.:format) {:controller=>"panel/announcement/back_end/bulletins", :action=>"link_quick_edit"} + load_quick_edit_panel_announcement_back_end_bulletin GET /panel/announcement/back_end/bulletins/:id/load_quick_edit(.:format) {:action=>"load_quick_edit", :controller=>"panel/announcement/back_end/bulletins"} + preview_panel_announcement_back_end_bulletins POST /panel/announcement/back_end/bulletins/preview(.:format) {:action=>"preview", :controller=>"panel/announcement/back_end/bulletins"} + PUT /panel/announcement/back_end/bulletins/preview(.:format) {:action=>"preview", :controller=>"panel/announcement/back_end/bulletins"} + delete_panel_announcement_back_end_bulletins GET /panel/announcement/back_end/bulletins/delete(.:format) {:action=>"delete", :controller=>"panel/announcement/back_end/bulletins"} + panel_announcement_back_end_bulletin_file_quick_add /panel/announcement/back_end/bulletins/:bulletin_id/file_quick_add/:bulletin_id(.:format) {:controller=>"panel/announcement/back_end/bulletins", :action=>"file_quick_add"} + panel_announcement_back_end_bulletin_file_quick_edit /panel/announcement/back_end/bulletins/:bulletin_id/file_quick_edit/:bulletin_id(.:format) {:controller=>"panel/announcement/back_end/bulletins", :action=>"file_quick_edit"} + panel_announcement_back_end_bulletins GET /panel/announcement/back_end/bulletins(.:format) {:action=>"index", :controller=>"panel/announcement/back_end/bulletins"} + POST /panel/announcement/back_end/bulletins(.:format) {:action=>"create", :controller=>"panel/announcement/back_end/bulletins"} + new_panel_announcement_back_end_bulletin GET /panel/announcement/back_end/bulletins/new(.:format) {:action=>"new", :controller=>"panel/announcement/back_end/bulletins"} + edit_panel_announcement_back_end_bulletin GET /panel/announcement/back_end/bulletins/:id/edit(.:format) {:action=>"edit", :controller=>"panel/announcement/back_end/bulletins"} + panel_announcement_back_end_bulletin GET /panel/announcement/back_end/bulletins/:id(.:format) {:action=>"show", :controller=>"panel/announcement/back_end/bulletins"} + PUT /panel/announcement/back_end/bulletins/:id(.:format) {:action=>"update", :controller=>"panel/announcement/back_end/bulletins"} + DELETE /panel/announcement/back_end/bulletins/:id(.:format) {:action=>"destroy", :controller=>"panel/announcement/back_end/bulletins"} + get_categorys_json_panel_announcement_back_end_bulletin_categorys GET /panel/announcement/back_end/bulletin_categorys/get_categorys_json(.:format) {:action=>"get_categorys_json", :controller=>"panel/announcement/back_end/bulletin_categorys"} + panel_announcement_back_end_bulletin_categorys GET /panel/announcement/back_end/bulletin_categorys(.:format) {:action=>"index", :controller=>"panel/announcement/back_end/bulletin_categorys"} + POST /panel/announcement/back_end/bulletin_categorys(.:format) {:action=>"create", :controller=>"panel/announcement/back_end/bulletin_categorys"} + new_panel_announcement_back_end_bulletin_category GET /panel/announcement/back_end/bulletin_categorys/new(.:format) {:action=>"new", :controller=>"panel/announcement/back_end/bulletin_categorys"} + edit_panel_announcement_back_end_bulletin_category GET /panel/announcement/back_end/bulletin_categorys/:id/edit(.:format) {:action=>"edit", :controller=>"panel/announcement/back_end/bulletin_categorys"} + panel_announcement_back_end_bulletin_category GET /panel/announcement/back_end/bulletin_categorys/:id(.:format) {:action=>"show", :controller=>"panel/announcement/back_end/bulletin_categorys"} + PUT /panel/announcement/back_end/bulletin_categorys/:id(.:format) {:action=>"update", :controller=>"panel/announcement/back_end/bulletin_categorys"} + DELETE /panel/announcement/back_end/bulletin_categorys/:id(.:format) {:action=>"destroy", :controller=>"panel/announcement/back_end/bulletin_categorys"} + panel_announcement_back_end_bulletin_link_link_quick_edit /panel/announcement/back_end/bulletin_links/:bulletin_link_id/link_quick_edit/:bulletin_link_id(.:format) {:controller=>"panel/announcement/back_end/bulletin_links", :action=>"link_quick_edit"} + panel_announcement_back_end_bulletin_links GET /panel/announcement/back_end/bulletin_links(.:format) {:action=>"index", :controller=>"panel/announcement/back_end/bulletin_links"} + POST /panel/announcement/back_end/bulletin_links(.:format) {:action=>"create", :controller=>"panel/announcement/back_end/bulletin_links"} + new_panel_announcement_back_end_bulletin_link GET /panel/announcement/back_end/bulletin_links/new(.:format) {:action=>"new", :controller=>"panel/announcement/back_end/bulletin_links"} + edit_panel_announcement_back_end_bulletin_link GET /panel/announcement/back_end/bulletin_links/:id/edit(.:format) {:action=>"edit", :controller=>"panel/announcement/back_end/bulletin_links"} + panel_announcement_back_end_bulletin_link GET /panel/announcement/back_end/bulletin_links/:id(.:format) {:action=>"show", :controller=>"panel/announcement/back_end/bulletin_links"} + PUT /panel/announcement/back_end/bulletin_links/:id(.:format) {:action=>"update", :controller=>"panel/announcement/back_end/bulletin_links"} + DELETE /panel/announcement/back_end/bulletin_links/:id(.:format) {:action=>"destroy", :controller=>"panel/announcement/back_end/bulletin_links"} + panel_announcement_back_end_bulletin_file_file_quick_edit /panel/announcement/back_end/bulletin_files/:bulletin_file_id/file_quick_edit/:bulletin_file_id(.:format) {:controller=>"panel/announcement/back_end/bulletin_files", :action=>"file_quick_edit"} + panel_announcement_back_end_bulletin_files GET /panel/announcement/back_end/bulletin_files(.:format) {:action=>"index", :controller=>"panel/announcement/back_end/bulletin_files"} + POST /panel/announcement/back_end/bulletin_files(.:format) {:action=>"create", :controller=>"panel/announcement/back_end/bulletin_files"} + new_panel_announcement_back_end_bulletin_file GET /panel/announcement/back_end/bulletin_files/new(.:format) {:action=>"new", :controller=>"panel/announcement/back_end/bulletin_files"} + edit_panel_announcement_back_end_bulletin_file GET /panel/announcement/back_end/bulletin_files/:id/edit(.:format) {:action=>"edit", :controller=>"panel/announcement/back_end/bulletin_files"} + panel_announcement_back_end_bulletin_file GET /panel/announcement/back_end/bulletin_files/:id(.:format) {:action=>"show", :controller=>"panel/announcement/back_end/bulletin_files"} + PUT /panel/announcement/back_end/bulletin_files/:id(.:format) {:action=>"update", :controller=>"panel/announcement/back_end/bulletin_files"} + DELETE /panel/announcement/back_end/bulletin_files/:id(.:format) {:action=>"destroy", :controller=>"panel/announcement/back_end/bulletin_files"} + panel_announcement_back_end_tags GET /panel/announcement/back_end/tags(.:format) {:action=>"index", :controller=>"panel/announcement/back_end/tags"} + POST /panel/announcement/back_end/tags(.:format) {:action=>"create", :controller=>"panel/announcement/back_end/tags"} + new_panel_announcement_back_end_tag GET /panel/announcement/back_end/tags/new(.:format) {:action=>"new", :controller=>"panel/announcement/back_end/tags"} + edit_panel_announcement_back_end_tag GET /panel/announcement/back_end/tags/:id/edit(.:format) {:action=>"edit", :controller=>"panel/announcement/back_end/tags"} + panel_announcement_back_end_tag GET /panel/announcement/back_end/tags/:id(.:format) {:action=>"show", :controller=>"panel/announcement/back_end/tags"} + PUT /panel/announcement/back_end/tags/:id(.:format) {:action=>"update", :controller=>"panel/announcement/back_end/tags"} + DELETE /panel/announcement/back_end/tags/:id(.:format) {:action=>"destroy", :controller=>"panel/announcement/back_end/tags"} + panel_announcement_front_end_index_bulletins_by_unit /panel/announcement/front_end/index_by_unit(.:format) {:action=>"index_bulletins_by_unit", :controller=>"panel/announcement/front_end/bulletins"} + panel_announcement_front_end_bulletins GET /panel/announcement/front_end/bulletins(.:format) {:action=>"index", :controller=>"panel/announcement/front_end/bulletins"} + POST /panel/announcement/front_end/bulletins(.:format) {:action=>"create", :controller=>"panel/announcement/front_end/bulletins"} + new_panel_announcement_front_end_bulletin GET /panel/announcement/front_end/bulletins/new(.:format) {:action=>"new", :controller=>"panel/announcement/front_end/bulletins"} + edit_panel_announcement_front_end_bulletin GET /panel/announcement/front_end/bulletins/:id/edit(.:format) {:action=>"edit", :controller=>"panel/announcement/front_end/bulletins"} + panel_announcement_front_end_bulletin GET /panel/announcement/front_end/bulletins/:id(.:format) {:action=>"show", :controller=>"panel/announcement/front_end/bulletins"} + PUT /panel/announcement/front_end/bulletins/:id(.:format) {:action=>"update", :controller=>"panel/announcement/front_end/bulletins"} + DELETE /panel/announcement/front_end/bulletins/:id(.:format) {:action=>"destroy", :controller=>"panel/announcement/front_end/bulletins"} + panel_announcement_widget_index /panel/announcement/widget/index(.:format) {:action=>"index", :controller=>"panel/announcement/widget/bulletins"} + panel_announcement_widget_bulletins_and_web_links /panel/announcement/widget/bulletins_and_web_links(.:format) {:action=>"bulletins_and_web_links", :controller=>"panel/announcement/widget/bulletins"} + panel_announcement_widget_reload_bulletins /panel/announcement/widget/reload_bulletins(.:format) {:action=>"reload_bulletins", :controller=>"panel/announcement/widget/bulletins"} + panel_announcement_widget_reload_web_links /panel/announcement/widget/reload_web_links(.:format) {:action=>"reload_web_links", :controller=>"panel/announcement/widget/bulletins"} + panel_announcement_widget_bulletins_side_bar /panel/announcement/widget/bulletins_side_bar(.:format) {:action=>"bulletins_side_bar", :controller=>"panel/announcement/widget/bulletins"} + panel_announcement_widget_bulletins_search_block /panel/announcement/widget/bulletins_search_block(.:format) {:action=>"bulletins_search_block", :controller=>"panel/announcement/widget/bulletins"} diff --git a/spec/factories/co_author_relations.rb b/spec/factories/co_author_relations.rb new file mode 100644 index 00000000..09fc6d88 --- /dev/null +++ b/spec/factories/co_author_relations.rb @@ -0,0 +1,11 @@ + +types = ["friend", "teacher", "student", "schoolmate", "parent", "best friend", "instructor", "labmate", "TA", "mate"] + +FactoryGirl.define do + factory(:relations, class: "CoAuthorRelation") do |f| + f.sequence(:relation_translations) do |n| + { zh_tw: "#{types[n%types.size]}", + en: "#{types[n%types.size]}" } + end + end +end diff --git a/spec/factories/co_authors.rb b/spec/factories/co_authors.rb new file mode 100644 index 00000000..75a11c9b --- /dev/null +++ b/spec/factories/co_authors.rb @@ -0,0 +1,21 @@ + +name_tw = Array.new 51,"" +name_tw = name_tw.map do |p| Faker::Name::name end +name_en = Array.new 51,"" +name_en = name_en.map do |p| Faker::Name::name end + +email = Array.new 51,"" +email= email.map do |p| Faker::Internet.email end + +FactoryGirl.define do + factory(:co_author_candidate, class: "CoAuthor") do |f| + + f.sequence(:co_author_translations) do |n| + { zh_tw: "#{name_tw[n]}", + en: "#{name_en[n]}" } + end + f.sequence(:co_author_relations_id) do |n| "#{CoAuthorRelation.all[n%CoAuthorRelation.count].id}" end + f.sequence(:email) do |n| "#{email[n]}" end + f.name_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account + end +end diff --git a/spec/factories/journal_level_types.rb b/spec/factories/journal_level_types.rb new file mode 100644 index 00000000..5aee752b --- /dev/null +++ b/spec/factories/journal_level_types.rb @@ -0,0 +1,11 @@ + +level = ["SCI", "SCIE", "SSCI", "AH & HCI", "EI", "CSCI", "CSSCI", "TSCI", "TSSCI", "THCI"] + +FactoryGirl.define do + factory(:journal_level, class: "JournalLevelType") do |f| + f.sequence(:title_translations) do |n| + { zh_tw: "#{level[n]}", + en: "#{level[n]}" } + end + end +end diff --git a/spec/factories/writing_journal_files.rb b/spec/factories/writing_journal_files.rb new file mode 100644 index 00000000..67c47e3d --- /dev/null +++ b/spec/factories/writing_journal_files.rb @@ -0,0 +1,18 @@ + +file_desc = Array.new 7, "" +file_desc = file_desc.map do |p| Faker::Lorem.word end + +file = ["1.png", "5.pdf", "2.png", "6.pdf", "3.png", "7.pdf", "4.png"] + +rand = Random.new + +FactoryGirl.define do + factory(:upload_file, class: "WritingJournalFile") do |f| + f.sequence(:file) do |n| + File.new(File.join(Rails.root, "db" ,"files", file[rand.rand(0..6)])) + end + f.sequence(:title) do |n| + "#{file_desc[rand.rand(0..6)]}" + end + end +end diff --git a/spec/factories/writing_journals.rb b/spec/factories/writing_journals.rb new file mode 100644 index 00000000..3c9b20ca --- /dev/null +++ b/spec/factories/writing_journals.rb @@ -0,0 +1,75 @@ +require 'json' + + +data = File.read("#{Rails.root}/db/data") +data_json = JSON.parse(data) + +rand = Random.new + +FactoryGirl.define do + factory :paper_record, class: "WritingJournal" do |f| + f.sequence(:paper_title_translations) do |n| + { zh_tw: "#{data_json[n]["paper_title"]}_tw", + en: "#{data_json[n]["paper_title"]}_en" } + end + + f.sequence(:journal_title_translations) do |n| + {zh_tw: "#{data_json[n]["booktitle"]}_tw", + en: "#{data_json[n]["booktitle"]}_en"} + end + + f.sequence(:abstract) do |n| + "#{data_json[n]["abstract"]}" + end + + f.sequence(:isbn) do |n| + "#{data_json[n]["isbn"]}" + end + + f.sequence(:year) do |n| + "#{data_json[n]["year"]}" + end + + f.sequence(:authors) do |n| + "#{data_json[n]["author"].map{|m| m.split(",").reverse.join(" ")}.join(",")}" + end + + f.sequence(:form_to_start) do |n| + "#{data_json[n]["page_from"]}" + end + + f.sequence(:form_to_end) do |n| + "#{data_json[n]["page_to"]}" + end + + f.sequence(:total_pages) do |n| + "#{data_json[n]["total_page"]}" + end + + f.sequence(:language) do |n| + "#{data_json[n]["language"]}" + end + + f.sequence(:keywords) do |n| + "#{data_json[n]["abstract"].split[-3..-1].join(",")}" + end + + f.sequence(:journal_level_types) do |n| + level = [] + total_levels = rand.rand(1..JournalLevelType.count) + total_levels.times do + level << JournalLevelType.all[rand.rand(0..JournalLevelType.count-1)] + end + level.uniq + end + + f.sequence(:writing_journal_files) do |n| + files = [] + total_files = rand.rand(1..7) + total_files.times do files << FactoryGirl.create(:upload_file) end + files + end + f.create_user_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account + f.update_user_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account + end + end diff --git a/spec/requests/desktop/co_authors_pages.spec.rb b/spec/requests/desktop/co_authors_pages.spec.rb new file mode 100644 index 00000000..d2957e10 --- /dev/null +++ b/spec/requests/desktop/co_authors_pages.spec.rb @@ -0,0 +1,11 @@ +require 'spec_helper' + +describe "Co-Author pages" do + subject {co-author} + + describe "Co-Author list" do + before { visit desktop_co_authors_path } + it { should have_selector('a', text: "New Co-Author") } + end + +end diff --git a/spec/requests/desktop/desktop_co_author_relations_spec.rb b/spec/requests/desktop/desktop_co_author_relations_spec.rb deleted file mode 100644 index a854bd28..00000000 --- a/spec/requests/desktop/desktop_co_author_relations_spec.rb +++ /dev/null @@ -1,11 +0,0 @@ -require 'spec_helper' - -describe "Desktop::CoAuthorRelations" do - describe "GET /desktop_co_author_relations" do - it "works! (now write some real specs)" do - # Run the generator again with the --webrat flag if you want to use webrat methods/matchers - get desktop_co_author_relations_path - response.status.should be(200) - end - end -end diff --git a/spec/requests/desktop/desktop_journal_lists_spec.rb b/spec/requests/desktop/desktop_journal_lists_spec.rb deleted file mode 100644 index c1ac52e3..00000000 --- a/spec/requests/desktop/desktop_journal_lists_spec.rb +++ /dev/null @@ -1,11 +0,0 @@ -require 'spec_helper' - -describe "Desktop::JournalLists" do - describe "GET /desktop_journal_lists" do - it "works! (now write some real specs)" do - # Run the generator again with the --webrat flag if you want to use webrat methods/matchers - get desktop_journal_lists_path - response.status.should be(200) - end - end -end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index cd0b93ad..9d2b3d0d 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -56,4 +56,4 @@ end # - Any code that is left outside of the blocks will be ran during preforking # and during each_run! # - These instructions should self-destruct in 10 seconds. If they don't, -# feel free to delete them. \ No newline at end of file +# feel free to delete them. diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/front_end/bulletins/index.rss.builder b/vendor/built_in_modules/announcement/app/views/panel/announcement/front_end/bulletins/index.rss.builder index 40698bfc..2a5d7f85 100644 --- a/vendor/built_in_modules/announcement/app/views/panel/announcement/front_end/bulletins/index.rss.builder +++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/front_end/bulletins/index.rss.builder @@ -12,6 +12,7 @@ xml.rss :version => "2.0" do xml.item do xml.title bulletin.title_translations[I18n.locale.to_s] xml.pubDate bulletin.postdate.to_s(:rfc822) + xml.description bulletin.text_translations[I18n.locale.to_s] xml.link url_for(:action=>"show", :controller=>"panel/announcement/front_end/bulletins", :id=>bulletin ,:only_path=>false) xml.guid url_for(:action=>"show", :controller=>"panel/announcement/front_end/bulletins", :id=>bulletin ,:only_path=>false) xml.fb_share generate_fb_url(bulletin, "announcement") diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/front_end/bulletins/show.rss.builder b/vendor/built_in_modules/announcement/app/views/panel/announcement/front_end/bulletins/show.rss.builder index c4ddacfa..34fb7a98 100644 --- a/vendor/built_in_modules/announcement/app/views/panel/announcement/front_end/bulletins/show.rss.builder +++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/front_end/bulletins/show.rss.builder @@ -8,12 +8,12 @@ xml.rss :version => "2.0" do end xml.link url_for(:action=>"index", :controller=>"panel/announcement/front_end/bulletins",:format=> :rss,:only_path=>false,:inner=>true) xml.item do - xml.title @bulletin.title - xml.description @bulletin.text + xml.title @bulletin.title_translations[I18n.locale.to_s] + xml.description @bulletin.text_translations[I18n.locale.to_s] xml.pubDate @bulletin.postdate.to_s(:rfc822) xml.link url_for(:action=>"show", :controller=>"panel/announcement/front_end/bulletins", :id=>@bulletin ,:format=> :rss,:only_path=>false,:inner=>true) xml.guid url_for(:action=>"show", :controller=>"panel/announcement/front_end/bulletins", :id=>@bulletin ,:only_path=>false) end # end end -end \ No newline at end of file +end diff --git a/vendor/built_in_modules/calendar/config/locales/en.yml b/vendor/built_in_modules/calendar/config/locales/en.yml index efb893d1..32396ad2 100644 --- a/vendor/built_in_modules/calendar/config/locales/en.yml +++ b/vendor/built_in_modules/calendar/config/locales/en.yml @@ -1,5 +1,6 @@ en: calendar: + calendar: Calendar calendars: Calendars color: Color name: Name diff --git a/vendor/built_in_modules/calendar/config/locales/zh_tw.yml b/vendor/built_in_modules/calendar/config/locales/zh_tw.yml index dd67783f..1e7df002 100644 --- a/vendor/built_in_modules/calendar/config/locales/zh_tw.yml +++ b/vendor/built_in_modules/calendar/config/locales/zh_tw.yml @@ -1,5 +1,6 @@ zh_tw: calendar: + calendar: 日曆 calendars: Calendars color: Color name: Name diff --git a/vendor/built_in_modules/gallery/config/locales/en.yml b/vendor/built_in_modules/gallery/config/locales/en.yml index b6b11bad..be3472af 100644 --- a/vendor/built_in_modules/gallery/config/locales/en.yml +++ b/vendor/built_in_modules/gallery/config/locales/en.yml @@ -1,5 +1,6 @@ en: gallery: + gallery: Gallery album_name: Album Name album_tag: Album Tag photo_tag: Photo Tag diff --git a/vendor/built_in_modules/gallery/config/locales/zh_tw.yml b/vendor/built_in_modules/gallery/config/locales/zh_tw.yml index f254c8ff..279c536d 100644 --- a/vendor/built_in_modules/gallery/config/locales/zh_tw.yml +++ b/vendor/built_in_modules/gallery/config/locales/zh_tw.yml @@ -1,5 +1,6 @@ zh_tw: gallery: + gallery: 相簿 album_name: 相簿名稱 album_tag: 相簿標籤 photo_tag: 照片標籤