modularized personal journal

This commit is contained in:
Rueshyna 2013-01-08 18:12:28 +08:00 committed by chris
parent 758cab5ecd
commit bf31d0c3dd
20 changed files with 185 additions and 174 deletions

View File

@ -1,9 +1,9 @@
require 'mime/types' require 'mime/types'
class DesktopPublicationsController< ApplicationController class DesktopPublicationsController< ApplicationController
def journal_p #def journal_p
render "desktop/journal_p", :layout => false # render "desktop/journal_p", :layout => false
end #end
def books def books
render "desktop/books", :layout => false render "desktop/books", :layout => false

View File

@ -11,7 +11,7 @@
<li class="d_cate"><a callback-method='' href="" class="widget_fn wh3 hh3" id='d_publication' onclick="return false;"><span class="widget_icon"><img src="" alt="Publication" id="publication_icon" width="30" height="30"/></span></a> <li class="d_cate"><a callback-method='' href="" class="widget_fn wh3 hh3" id='d_publication' onclick="return false;"><span class="widget_icon"><img src="" alt="Publication" id="publication_icon" width="30" height="30"/></span></a>
<ul class="dock_child hh3 thmc4" style="width: 180px;"> <ul class="dock_child hh3 thmc4" style="width: 180px;">
<li class="dock_item"><a callback-method='initializeJournalPapers' href="<%= desktop_publications_journal_p_path %>" class="widget_fn wh3 hh3" id='d_journal_p' custom-load="journal" onclick="return false;"><span class="widget_icon"><img src="" alt="Journal Papers" id="journal_p_icon" width="30" height="30"/></span></a></li> <li class="dock_item"><a callback-method='initializeJournalPapers' href="<%= panel_personal_journal_desktop_journal_p_path %>" class="widget_fn wh3 hh3" id='d_journal_p' custom-load="journal" onclick="return false;"><span class="widget_icon"><img src="" alt="Journal Papers" id="journal_p_icon" width="30" height="30"/></span></a></li>
<li class="dock_item"><a callback-method='initializeSeminar' href="<%= desktop_publications_seminar_p_path %>" class="widget_fn wh3 hh3" id='d_seminar_p' custom-load="seminar" onclick="return false;"><span class="widget_icon"><img src="" alt="Seminar Papers" id="seminar_p_icon" width="30" height="30"/></span></a></li> <li class="dock_item"><a callback-method='initializeSeminar' href="<%= desktop_publications_seminar_p_path %>" class="widget_fn wh3 hh3" id='d_seminar_p' custom-load="seminar" onclick="return false;"><span class="widget_icon"><img src="" alt="Seminar Papers" id="seminar_p_icon" width="30" height="30"/></span></a></li>
@ -64,10 +64,10 @@
</div> </div>
<div id="container"> <div id="container">
<div id='ajax_container'> <div id='ajax_container'>
</div> </div>
</div> </div>
<!--<div id="orbitbar"></div>--> <!--<div id="orbitbar"></div>-->

View File

@ -40,7 +40,6 @@ Orbit::Application.routes.draw do
end end
end end
match 'ad_banners/:id/preview' => 'ad_banners#realtime_preview',:as => :realtime_preview_ad_banner,:via => :put match 'ad_banners/:id/preview' => 'ad_banners#realtime_preview',:as => :realtime_preview_ad_banner,:via => :put
match 'ad_banners/:id/rename' => 'ad_banners#rename',:as => :rename_ad_banner,:via => :post match 'ad_banners/:id/rename' => 'ad_banners#rename',:as => :rename_ad_banner,:via => :post
@ -51,6 +50,7 @@ Orbit::Application.routes.draw do
end end
resources :ad_images ,:except => [:show,:index] resources :ad_images ,:except => [:show,:index]
end end
resources :dashboards resources :dashboards
resources :designs do resources :designs do
collection do collection do
@ -64,22 +64,27 @@ Orbit::Application.routes.draw do
post 'upload_image' => 'designs#upload_image' post 'upload_image' => 'designs#upload_image'
end end
end end
resources :infos do resources :infos do
get 'add_attribute_field' get 'add_attribute_field'
end end
resources :items resources :items
match 'update_position' => 'items#update_position' match 'update_position' => 'items#update_position'
resources :links do resources :links do
member do member do
get 'delete' get 'delete'
end end
end end
resources :pages do resources :pages do
member do member do
get 'delete' get 'delete'
get 'reload_themes' get 'reload_themes'
end end
end end
resources :module_apps do resources :module_apps do
match 'manager_auth_proc' => "module_apps_new_interface#setting" ,:as => :manager_auth_proc,:via => :get match 'manager_auth_proc' => "module_apps_new_interface#setting" ,:as => :manager_auth_proc,:via => :get
match 'manager_auth_proc' => "module_apps_new_interface#update_setting" ,:as => :manager_auth_proc,:via => :post match 'manager_auth_proc' => "module_apps_new_interface#update_setting" ,:as => :manager_auth_proc,:via => :post
@ -99,6 +104,7 @@ Orbit::Application.routes.draw do
get 'reload_frontend_pages' get 'reload_frontend_pages'
end end
end end
resources :page_parts do resources :page_parts do
member do member do
get 'reload_widgets' get 'reload_widgets'
@ -106,6 +112,7 @@ Orbit::Application.routes.draw do
get 'reload_r_tag_options' get 'reload_r_tag_options'
end end
end end
resources :plugins resources :plugins
resources :purchases do resources :purchases do
collection do collection do
@ -116,6 +123,7 @@ Orbit::Application.routes.draw do
get 'download' get 'download'
end end
end end
resources :roles do resources :roles do
get 'role_field' get 'role_field'
get 'sub_role_field' get 'sub_role_field'
@ -124,6 +132,7 @@ Orbit::Application.routes.draw do
get 'edit_sub_role' get 'edit_sub_role'
get 'add_attribute_field' get 'add_attribute_field'
end end
resources :sites do resources :sites do
get 'mail_setting' get 'mail_setting'
get 'site_info' get 'site_info'
@ -134,8 +143,10 @@ Orbit::Application.routes.draw do
get 'ui_theme' get 'ui_theme'
get 'change_design' get 'change_design'
end end
resources :tags resources :tags
resources :users resources :users
resources :users_new_interface do resources :users_new_interface do
member do member do
get 'temp_edit' get 'temp_edit'
@ -185,16 +196,7 @@ Orbit::Application.routes.draw do
match '/desktop/widget_layout' => 'desktop#widget_layout' match '/desktop/widget_layout' => 'desktop#widget_layout'
match '/desktop/temp_func/'=>'desktop#temp_func' match '/desktop/temp_func/'=>'desktop#temp_func'
namespace :desktop do
match '/journal_pages/get_journals_json' => 'journal_pages#get_journals_json'
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 # namespace :desktop_publications do
match 'desktop_publications/journal_p'=>'desktop_publications#journal_p'
match 'desktop_publications/books' => 'desktop_publications#books' match 'desktop_publications/books' => 'desktop_publications#books'
match 'desktop_publications/books_list'=>'desktop_publications#books_list' match 'desktop_publications/books_list'=>'desktop_publications#books_list'
match 'desktop_publications/books_add'=>'desktop_publications#books_add' match 'desktop_publications/books_add'=>'desktop_publications#books_add'

View File

@ -177,7 +177,7 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
} }
var getData = function(){ var getData = function(){
$.getJSON("/desktop/journal_pages/get_journals_json",function(journals){ $.getJSON("/panel/personal_journal/desktop/get_journals_json",function(journals){
journalData = eval(journals); journalData = eval(journals);
journalview(); journalview();
bindHandlers(); bindHandlers();

View File

@ -1,4 +1,4 @@
class Desktop::CoAuthorRelationsController < ApplicationController class Panel::PersonalJournal::Desktop::CoAuthorRelationsController < ApplicationController
def index def index
@co_author_relations = CoAuthorRelation.all @co_author_relations = CoAuthorRelation.all
new new

View File

@ -1,4 +1,4 @@
class Desktop::CoAuthorsController < ApplicationController class Panel::PersonalJournal::Desktop::CoAuthorsController < ApplicationController
def index def index
nils, not_nils = 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?} .asc(:co_author).partition{|p| p.email.nil?}

View File

@ -1,18 +1,2 @@
class Desktop::JournalListsController < ApplicationController class Panel::PersonalJournal::Desktop::JournalListsController < ApplicationController
def index
level_types = JournalLevelType.all
all_journal_lists = WritingJournal.where(create_user_id: current_user.id)
all_journal_lists = all_journal_lists.map do |j|
[ j.journal_title,
j.journal_level_type_ids.map do |type|
level_types.find(type).title
end]
end
@journal_lists = all_journal_lists.uniq
respond_to do |format|
format.html { render :layout => false}
end
end
end end

View File

@ -0,0 +1,5 @@
class Panel::PersonalJournal::Desktop::JournalPController < ApplicationController
def journal_p
render panel_personal_journal_desktop_journal_p_path, :layout => false
end
end

View File

@ -1,4 +1,4 @@
class Desktop::JournalPagesController < ApplicationController class Panel::PersonalJournal::Desktop::JournalPagesController < ApplicationController
def index def index
@writing_journal = WritingJournal.where(create_user_id: current_user.id) @writing_journal = WritingJournal.where(create_user_id: current_user.id)
@level_types = JournalLevelType.all @level_types = JournalLevelType.all
@ -89,8 +89,8 @@ class Desktop::JournalPagesController < ApplicationController
abstract: publication.abstract, abstract: publication.abstract,
coauthors: publication.authors, coauthors: publication.authors,
year: publication.year, year: publication.year,
url_edit: edit_desktop_journal_page_path(publication), url_edit: edit_panel_personal_journal_desktop_journal_page_path(publication),
url_delete: desktop_journal_page_path(publication), url_delete: panel_personal_journal_desktop_journal_page_path(publication),
files: publication.writing_journal_files.collect{|file| files: publication.writing_journal_files.collect{|file|
{title: file.title, url: file.file.url, icon: check_file_type(file.file.url)} {title: file.title, url: file.file.url, icon: check_file_type(file.file.url)}
} }
@ -104,4 +104,20 @@ class Desktop::JournalPagesController < ApplicationController
render json: JSON.pretty_generate(data) render json: JSON.pretty_generate(data)
end end
def journal_type
level_types = JournalLevelType.all
all_journal_lists = WritingJournal.where(create_user_id: current_user.id)
all_journal_lists = all_journal_lists.map do |j|
[ j.journal_title,
j.journal_level_type_ids.map do |type|
level_types.find(type).title
end]
end
@journal_lists = all_journal_lists.uniq
respond_to do |format|
format.html { render :layout => false}
end
end
end end

View File

@ -1,3 +1,3 @@
<%= form_for(@co_author_relation, url: desktop_co_author_relations_path, html:{"form-type"=>"ajax_form", "callback-method"=>"coauthorRelationForm"} ) do |f| %> <%= form_for(@co_author_relation, url: panel_personal_journal_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}%> <%= render partial: 'panel/personal_journal/desktop/co_author_relations/form' , locals: {:f => f}%>
<% end %> <% end %>

View File

@ -6,8 +6,8 @@
<li class="s_grid_row"> <li class="s_grid_row">
<div class="form_space" id="form_space_<%= i.to_s %>"><%= co_author_relation.relation %></div> <div class="form_space" id="form_space_<%= i.to_s %>"><%= co_author_relation.relation %></div>
<div class="list_item_function"> <div class="list_item_function">
<%= link_to 'Edit', edit_desktop_co_author_relation_path(co_author_relation), :class => "bt-edit-type admbg2 admtxt", "content-holder"=>"#form_space_"+i.to_s, "ajax-remote"=>"get" %> <%= link_to 'Edit', edit_panel_personal_journal_desktop_co_author_relation_path(co_author_relation), :class => "bt-edit-type admbg2 admtxt", "content-holder"=>"#form_space_"+i.to_s, "ajax-remote"=>"get" %>
<%= link_to 'Destroy', desktop_co_author_relation_path(co_author_relation), "confirm-message"=>'Are you sure?', "ajax-remote"=>"delete", :class=>"bt-delete admbg2 admtxt" %> <%= link_to 'Destroy', panel_personal_journal_desktop_co_author_relation_path(co_author_relation), "confirm-message"=>'Are you sure?', "ajax-remote"=>"delete", :class=>"bt-delete admbg2 admtxt" %>
</div> </div>
</li> </li>
<% if ( i % 6 ) == 5 %> <% if ( i % 6 ) == 5 %>

View File

@ -1,3 +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| %> <%= form_for(@co_author_relation, url: panel_personal_journal_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}%> <%= render partial: 'panel/personal_journal/desktop/co_author_relations/form' , locals: {:f => f}%>
<% end %> <% end %>

View File

@ -1,3 +1,3 @@
<%= form_for @co_author, html: { multipart: true ,"form-type"=>"ajax_form", "callback-method"=>"coAuthorformCallback"} , url: desktop_co_author_path(@co_author) do |f| %> <%= form_for @co_author, html: { multipart: true ,"form-type"=>"ajax_form", "callback-method"=>"coAuthorformCallback"} , url: panel_personal_journal_desktop_co_author_path(@co_author) do |f| %>
<%= render partial: 'desktop/co_authors/form', locals: {:f => f} %> <%= render partial: 'panel/personal_journal/desktop/co_authors/form', locals: {:f => f} %>
<% end %> <% end %>

View File

@ -1,7 +1,7 @@
<div class="toolbar hh2"> <div class="toolbar hh2">
<div class="fn_g hp"> <div class="fn_g hp">
<%= link_to "New Co-Author", new_desktop_co_author_path, :class=>"bt-co-author fn_btn hp hh2 thmc2 thmtxt", "ajax-remote"=>"get" %> <%= link_to "New Co-Author", new_panel_personal_journal_desktop_co_author_path, :class=>"bt-co-author fn_btn hp hh2 thmc2 thmtxt", "ajax-remote"=>"get" %>
<%= link_to "New Type", desktop_co_author_relations_path, :class=>"bt-new-type fn_btn hp hh2 thmc2 thmtxt", "ajax-remote"=>"get" %> <%= link_to "New Type", panel_personal_journal_desktop_co_author_relations_path, :class=>"bt-new-type fn_btn hp hh2 thmc2 thmtxt", "ajax-remote"=>"get" %>
</div> </div>
</div> </div>
<div id="co_author" class="tinycanvas vp"> <div id="co_author" class="tinycanvas vp">
@ -20,8 +20,8 @@
<li><div class="relations"><i class="icon-user"></i> <%= @co_author_relations.find(co_author.co_author_relations_id).relation unless co_author.co_author_relations_id.nil?%></div></li> <li><div class="relations"><i class="icon-user"></i> <%= @co_author_relations.find(co_author.co_author_relations_id).relation unless co_author.co_author_relations_id.nil?%></div></li>
</ul> </ul>
<div class="list_item_function"> <div class="list_item_function">
<%= link_to 'Edit', edit_desktop_co_author_path(co_author), :class => "bt-edit admbg2 admtxt", "ajax-remote"=>"get" %> <%= link_to 'Edit', edit_panel_personal_journal_desktop_co_author_path(co_author), :class => "bt-edit admbg2 admtxt", "ajax-remote"=>"get" %>
<%= link_to 'Destroy', desktop_co_author_path(co_author), "ajax-remote"=>"delete", "confirm-message"=>'Are you sure?', "callback-method"=>"paperDelete", :class=>"bt-delete admbg2 admtxt" %> <%= link_to 'Destroy', panel_personal_journal_desktop_co_author_path(co_author), "ajax-remote"=>"delete", "confirm-message"=>'Are you sure?', "callback-method"=>"paperDelete", :class=>"bt-delete admbg2 admtxt" %>
</div> </div>
</li> </li>
<% if ( i % 4 ) == 3 %> <% if ( i % 4 ) == 3 %>

View File

@ -1,3 +1,3 @@
<%= form_for @co_author, html: { multipart: true ,"form-type"=>"ajax_form", "callback-method"=>"coAuthorformCallback"} , url: desktop_co_authors_path do |f| %> <%= form_for @co_author, html: { multipart: true ,"form-type"=>"ajax_form", "callback-method"=>"coAuthorformCallback"} , url: panel_personal_journal_desktop_co_authors_path do |f| %>
<%= render partial: 'desktop/co_authors/form', locals: {:f => f} %> <%= render partial: 'panel/personal_journal/desktop/co_authors/form', locals: {:f => f} %>
<% end %> <% end %>

View File

@ -13,10 +13,10 @@
<div id="panel_l" class="ph"> <div id="panel_l" class="ph">
<div class="s_menu sm_v" content-type="menu"> <div class="s_menu sm_v" content-type="menu">
<ul id='setting_left_nav'> <ul id='setting_left_nav'>
<li><a href="<%= desktop_journal_pages_path %>" callback-method="list" load="true" class="hh2 w2 hp thmc1 thmtxt xx" onclick='return false;'>List</a></li> <li><a href="<%= panel_personal_journal_desktop_journal_pages_path %>" callback-method="list" load="true" class="hh2 w2 hp thmc1 thmtxt xx" onclick='return false;'>List</a></li>
<li><a href="<%= new_desktop_journal_page_path %>" callback-method="addpaper" custom-load="addpaper" class="admtxt hh2 w2 hp xx" onclick='return false;'>Add/Edit</a></li> <li><a href="<%= new_panel_personal_journal_desktop_journal_page_path %>" callback-method="addpaper" custom-load="addpaper" class="admtxt hh2 w2 hp xx" onclick='return false;'>Add/Edit</a></li>
<li><a href="<%= desktop_journal_lists_path %>" callback-method="journal" class="admtxt hh2 w2 hp" onclick='return false;'>Journals</a></li> <li><a href="" callback-method="journal" class="admtxt hh2 w2 hp" onclick='return false;'>Journals</a></li>
<li><a href="<%= desktop_co_authors_path %>" class="admtxt hh2 w2 hp" callback-method="coauthor" custom-load="coauthor" onclick='return false;'>Co-Authors</a></li> <li><a href="<%= panel_personal_journal_desktop_co_authors_path %>" class="admtxt hh2 w2 hp" callback-method="coauthor" custom-load="coauthor" onclick='return false;'>Co-Authors</a></li>
<li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Tags &amp; Keywords</a></li> <li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Tags &amp; Keywords</a></li>
<li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Analysis</a></li> <li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Analysis</a></li>
<li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Import</a></li> <li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Import</a></li>

View File

@ -1,3 +1,3 @@
<%= form_for @writing_journal, html: { multipart: true, "form-type"=>"ajax_form", "callback-method"=>"formCallback"}, url: desktop_journal_page_path(@writing_journal) do |f| %> <%= form_for @writing_journal, html: { multipart: true, "form-type"=>"ajax_form", "callback-method"=>"formCallback"}, url: panel_personal_journal_desktop_journal_page_path(@writing_journal) do |f| %>
<%= render partial: 'desktop/journal_pages/form', locals: {:f => f} %> <%= render partial: 'panel/personal_journal/desktop/journal_pages/form', locals: {:f => f} %>
<%end%> <%end%>

View File

@ -1,3 +1,3 @@
<%= form_for @writing_journal, html: { multipart: true, "form-type"=>"ajax_form", "callback-method"=>"formCallback"}, url: desktop_journal_pages_path do |f| %> <%= form_for @writing_journal, html: { multipart: true, "form-type"=>"ajax_form", "callback-method"=>"formCallback"}, url: panel_personal_journal_desktop_journal_pages_path do |f| %>
<%= render partial: 'desktop/journal_pages/form', locals: {:f => f} %> <%= render partial: 'panel/personal_journal/desktop/journal_pages/form', locals: {:f => f} %>
<%end%> <%end%>

View File

@ -1,2 +0,0 @@
<h1>Desktop::JournalPages#show</h1>
<p>Find me in app/views/desktop/journal_pages/show.html.erb</p>

View File

@ -1,11 +1,17 @@
Rails.application.routes.draw do Rails.application.routes.draw do
namespace :panel do namespace :panel do
namespace :personal_journal do namespace :personal_journal do
namespace :desktop do
match 'journal_p'=>'journal_p#journal_p'
match 'get_journals_json' => 'journal_pages#get_journals_json'
resources :journal_pages, except: :show
resources :journal_lists, only: :index
resources :co_authors, except: :show
resources :co_author_relations, except: :show
end
namespace :back_end do namespace :back_end do
match 'writing_journal_setting' => "writing_journals#writing_journal_setting" ,:as => :writing_journal_setting match 'writing_journal_setting' => "writing_journals#writing_journal_setting" ,:as => :writing_journal_setting
resources :writing_journals do resources :writing_journals do
collection do collection do
get 'delete' get 'delete'
@ -13,13 +19,10 @@ Rails.application.routes.draw do
match "level_type_quick_add" => "writing_journals#level_type_quick_add" ,:as => :level_type_quick_add match "level_type_quick_add" => "writing_journals#level_type_quick_add" ,:as => :level_type_quick_add
match "level_type_quick_edit" => "writing_journals#level_type_quick_edit" ,:as => :level_type_quick_edit match "level_type_quick_edit" => "writing_journals#level_type_quick_edit" ,:as => :level_type_quick_edit
match "author_type_quick_add" => "writing_journals#author_type_quick_add" ,:as => :author_type_quick_add match "author_type_quick_add" => "writing_journals#author_type_quick_add" ,:as => :author_type_quick_add
match "author_type_quick_edit" => "writing_journals#author_type_quick_edit" ,:as => :author_type_quick_edit match "author_type_quick_edit" => "writing_journals#author_type_quick_edit" ,:as => :author_type_quick_edit
match "paper_type_quick_add" => "writing_journals#paper_type_quick_add" ,:as => :paper_type_quick_add match "paper_type_quick_add" => "writing_journals#paper_type_quick_add" ,:as => :paper_type_quick_add
match "paper_type_quick_edit" => "writing_journals#paper_type_quick_edit" ,:as => :paper_type_quick_edit match "paper_type_quick_edit" => "writing_journals#paper_type_quick_edit" ,:as => :paper_type_quick_edit
match "tag_quick_add" => "writing_journals#tag_quick_add" ,:as => :tag_quick_add match "tag_quick_add" => "writing_journals#tag_quick_add" ,:as => :tag_quick_add
match "tag_quick_edit" => "writing_journals#tag_quick_edit" ,:as => :tag_quick_edit match "tag_quick_edit" => "writing_journals#tag_quick_edit" ,:as => :tag_quick_edit
end end
@ -29,12 +32,15 @@ Rails.application.routes.draw do
resources :journal_level_types resources :journal_level_types
resources :tags resources :tags
end end
namespace :front_end do namespace :front_end do
resources :writing_journals resources :writing_journals
end end
namespace :plugin do namespace :plugin do
resources :writing_journals resources :writing_journals
end end
namespace :widget do namespace :widget do
match "writing_journals" => "writing_journals#index" match "writing_journals" => "writing_journals#index"
match "home_list" => "writing_journals#home_list" match "home_list" => "writing_journals#home_list"