Merge branch 'store' of github.com:Rulingcom/orbit into store

This commit is contained in:
OrbitServer 2012-12-06 16:08:01 +08:00
commit 339e20964a
46 changed files with 508 additions and 271 deletions

View File

@ -116,7 +116,7 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
li; li;
$.each(journalData,function(i,journal){ $.each(journalData,function(i,journal){
$.each(journal.papers,function(j,paper){ $.each(journal.papers,function(j,paper){
li = $('<li class="list_t_item"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+journal.title+'</div><div class="list_t_des">'+paper.title+'</div><a class="journal_paper_edit" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete" href="'+paper.url_delete+'">Delete</a></li>'); li = $('<li class="list_t_item"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+journal.title+'</div><div class="list_t_des">'+paper.title+'</div><div class="list_item_function"><a class="journal_paper_edit admbg2 admtxt" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete admbg2 admtxt" href="'+paper.url_delete+'">Delete</a></div></li>');
column.find("ul").append(li); column.find("ul").append(li);
if(counter%5==0){ if(counter%5==0){
$("#journal_p div#paper_list div.overview").append(column); $("#journal_p div#paper_list div.overview").append(column);
@ -145,7 +145,7 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
var img = $('<div class="list_t_des"><a href="'+file.url+'" target="_blank" ><img src="'+file.icon+'" />'+thistitle+'</a></div>'); var img = $('<div class="list_t_des"><a href="'+file.url+'" target="_blank" ><img src="'+file.icon+'" />'+thistitle+'</a></div>');
li.append(img); li.append(img);
}) })
li.append('<a class="journal_paper_edit" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete" href="'+paper.url_delete+'">Delete</a>'); li.append('<div class="list_item_function"><a class="journal_paper_edit admbg2 admtxt" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete admbg2 admtxt" href="'+paper.url_delete+'">Delete</a></div>');
column.find("ul").append(li); column.find("ul").append(li);
if(counter%5==0){ if(counter%5==0){
$("#journal_p div#paper_list div.overview").append(column); $("#journal_p div#paper_list div.overview").append(column);
@ -164,7 +164,7 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
li; li;
$.each(journalData,function(i,journal){ $.each(journalData,function(i,journal){
$.each(journal.papers,function(j,paper){ $.each(journal.papers,function(j,paper){
li = $('<li class="list_t_item"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+paper.title+'</div><div class="list_t_des">'+paper.keywords+'</div><a class="journal_paper_edit" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete" href="'+paper.url_delete+'">Delete</a></li>'); li = $('<li class="list_t_item"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+paper.title+'</div><div class="list_t_des">'+paper.keywords+'</div><div class="list_item_function"><a class="journal_paper_edit admbg2 admtxt" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete admbg2 admtxt" href="'+paper.url_delete+'">Delete</a></div></li>');
column.find("ul").append(li); column.find("ul").append(li);
if(counter%5==0){ if(counter%5==0){
$("#journal_p div#paper_list div.overview").append(column); $("#journal_p div#paper_list div.overview").append(column);
@ -184,7 +184,7 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
li; li;
$.each(journalData,function(i,journal){ $.each(journalData,function(i,journal){
$.each(journal.papers,function(j,paper){ $.each(journal.papers,function(j,paper){
li = $('<li class="list_t_item"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+paper.title+'</div><a class="journal_paper_edit" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete" href="'+paper.url_delete+'">Delete</a></li>'); li = $('<li class="list_t_item"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+paper.title+'</div><div class="list_item_function"><a class="journal_paper_edit admbg2 admtxt" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete admbg2 admtxt" href="'+paper.url_delete+'">Delete</a></div></li>');
column.find("ul").append(li); column.find("ul").append(li);
if(counter%5==0){ if(counter%5==0){
$("#journal_p div#paper_list div.overview").append(column); $("#journal_p div#paper_list div.overview").append(column);
@ -203,7 +203,7 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
li; li;
$.each(journalData,function(i,journal){ $.each(journalData,function(i,journal){
$.each(journal.papers,function(j,paper){ $.each(journal.papers,function(j,paper){
li = $('<li class="list_t_item" style="height:auto;"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+paper.title+'</div><div class="list_t_des">'+paper.abstract+'</div><a class="journal_paper_edit" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete" href="'+paper.url_delete+'">Delete</a></li>'); li = $('<li class="list_t_item" style="height:auto;"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+paper.title+'</div><div class="list_t_des">'+paper.abstract+'</div><div class="list_item_function"><a class="journal_paper_edit admbg2 admtxt" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete admbg2 admtxt" href="'+paper.url_delete+'">Delete</a></div></li>');
column.find("ul").append(li); column.find("ul").append(li);
$("#journal_p div#paper_list div.overview").append(column); $("#journal_p div#paper_list div.overview").append(column);
column = $('<div class="g_col list_t"><ul></ul></div>'); column = $('<div class="g_col list_t"><ul></ul></div>');
@ -238,10 +238,9 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
this.initializeJournalPapers.journal = function(){ // to open add pages in journal papers page this.initializeJournalPapers.journal = function(){ // to open add pages in journal papers page
var bindHandlers = function(){ // to bind handlers for add page var bindHandlers = function(){ // to bind handlers for add page
o.simple_drop_down(); o.simple_drop_down();
o.tinyscrollbar_ext({ o.tinyscrollbar_ext({
main: '.tinycanvas', main: '.tinycanvas',
fill: '.s_grid_con' fill: '.g_col'
}) })
} }
bindHandlers(); bindHandlers();
@ -261,9 +260,9 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
o.tinyscrollbar_ext({ o.tinyscrollbar_ext({
main: '.tinycanvas', 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({ $.ajax({
url : $(this).attr("href"), url : $(this).attr("href"),
type : "get", type : "get",
@ -281,7 +280,25 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
}) })
return false; 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(){ $("div[container=true]").unbind(".delete").on("click.delete","a.bt-delete",function(){
var delurl = $(this).attr("href"); var delurl = $(this).attr("href");
var parent = $(this).parent().parent(); var parent = $(this).parent().parent();
o.confirm({ o.confirm({
@ -346,7 +363,15 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
this.initializeJournalPapers.coauthorRelationForm = function(data){ this.initializeJournalPapers.coauthorRelationForm = function(data){
if(data.success){ if(data.success){
o.notify(data.msg,"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{ }else{
o.notify(data.msg,"alert"); o.notify(data.msg,"alert");
} }

View File

@ -26,7 +26,7 @@ var orbitDesktopAPI = function(){
break; break;
} }
$notify.find("img#note_img").attr("src",o.notifyImgPath+img); $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(); n_height = $notify.outerHeight();
if(!time)time=5000; else time=time*1000; if(!time)time=5000; else time=time*1000;
$notify $notify

View File

@ -26,7 +26,7 @@ time, mark, audio, video {
#container input, #container textarea, #container select, #container input:focus, #container textarea:focus { #container input, #container textarea, #container select, #container input:focus, #container textarea:focus {
border-radius: 0; border-radius: 0;
box-shadow: none; box-shadow: none;
font: inherit; font-family: inherit;
} }
/* HTML5 display-role reset for older browsers */ /* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, article, aside, details, figcaption, figure,
@ -126,10 +126,13 @@ a:focus { outline: none; }
.ini_input { .ini_input {
margin: 0; margin: 0;
padding: 0; padding: 0;
border: none; border: 0;
} }
.ini_input:focus { outline: none; } .ini_input:focus { outline: none; }
#search_app { position: relative; background-color: #fff; } #search_app {
position: relative;
background-color: #fff;
}
#search_app .form { #search_app .form {
position: absolute; position: absolute;
left: 0; left: 0;
@ -139,6 +142,7 @@ a:focus { outline: none; }
height: 28px; height: 28px;
line-height: 28px; line-height: 28px;
background: none; background: none;
border: 0;
} }
#search_app .submit { #search_app .submit {
position: absolute; position: absolute;
@ -289,7 +293,7 @@ a:focus { outline: none; }
position: relative; position: relative;
z-index: 9; 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 .sdm_o { top: 36px; background-color: #f0f0f0; }
.toolbar button { .toolbar button {
border: none; border: none;
@ -300,7 +304,10 @@ a:focus { outline: none; }
font-size: 15px; font-size: 15px;
vertical-align: top; vertical-align: top;
} }
.toolbar .fn_btn {
display: inline-block;
vertical-align: top;
}
/* Setting Page */ /* Setting Page */
.theme_list {} .theme_list {}
@ -344,6 +351,7 @@ a:focus { outline: none; }
font-size: 15px; font-size: 15px;
line-height: 36px; line-height: 36px;
text-align: center; text-align: center;
border: 0;
} }
/* theme color opacity */ /* theme color opacity */
@ -452,7 +460,7 @@ a:focus { outline: none; }
height: 100%; height: 100%;
left: 0; left: 0;
top: 0; top: 0;
z-index: 9; z-index: 10;
} }
#orbitdiag .tile { background-color: #000; } #orbitdiag .tile { background-color: #000; }
.diag_holder { 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{ .s_form input[type=text], .s_form input[type=password], .s_form textarea{
outline: solid 3px #f6f6f6; outline: solid 3px #f6f6f6;
border: solid 1px #eee; border: solid 1px #eee;
font-size: 18px; font-size: 15px;
font-family: Arial !important; font-family: Arial !important;
margin: 0; margin: 0;
padding: 6px; padding: 6px;
@ -578,14 +586,14 @@ a:focus { outline: none; }
height: 30px; height: 30px;
line-height: 30px; line-height: 30px;
right: 5px; right: 5px;
top: 4px; top: 5px;
display: block; display: block;
background-color: #fff; background-color: #fff;
} }
.s_form.s_grid_con { width: 416px; } .s_form.s_grid_con { width: 416px; }
.s_form .s_grid_row { width: 410px; } .s_form .s_grid_row { width: 410px; }
.s_form .s_grid_row .s_grid:first-child { margin-left: 0; } .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_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_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; } .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_4 { width: 270px; }
.s_form select.s_grid_5 { width: 340px; } .s_form select.s_grid_5 { width: 340px; }
.s_form select.s_grid_6 { width: 410px; } .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 {} #group_wrapper {}
@ -616,7 +647,7 @@ a:focus { outline: none; }
.list_t_title { .list_t_title {
font-size: 15px; font-size: 15px;
font-family: Arial; font-family: Arial;
margin-bottom: 10px; margin-bottom: 6px;
color: #333; color: #333;
} }
.list_t_des { .list_t_des {
@ -624,7 +655,7 @@ a:focus { outline: none; }
line-height: 1.5em; line-height: 1.5em;
color: #999; color: #999;
font-family: Arial, sans-serif; font-family: Arial, sans-serif;
margin-bottom: 10px; margin-bottom: 4px;
} }
/* Connection Page */ /* Connection Page */
@ -684,6 +715,12 @@ a:focus { outline: none; }
float: left; float: left;
margin-left: -30px; margin-left: -30px;
} }
#paper_list .list_item_function a {
display: inline-block;
padding: 4px;
font-family: Arial, sans-serif;
font-size: 11px;
}
.list_item_action a { .list_item_action a {
display: block; display: block;
width: 20px; width: 20px;
@ -708,6 +745,110 @@ a:focus { outline: none; }
#paper_add .f_w { width: 336px; } #paper_add .f_w { width: 336px; }
#paper_add label { margin-right: 0; } #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 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;
}
#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: 346px;
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;
}
#co_author_relation_table .form_space {
margin-bottom: 10px;
font-size: 15px;
font-family: Arial, sans-serif;
}
/* App */ /* App */
.app_frame { .app_frame {
margin: 48px 96px 48px 156px; margin: 48px 96px 48px 156px;

View File

@ -143,6 +143,7 @@
display: inline-block; display: inline-block;
line-height: 22px; line-height: 22px;
padding: 0 10px; padding: 0 10px;
vertical-align: top;
} }
#orbit-bar .nav img.member-img { #orbit-bar .nav img.member-img {
display: inline-block; display: inline-block;

View File

@ -8,6 +8,9 @@ class Admin::InfosController < ApplicationController
def index def index
@attributes = Info.all.entries @attributes = Info.all.entries
@roles = Role.excludes('disabled' => true)
render :template => 'admin/attributes/index' render :template => 'admin/attributes/index'
end end
@ -22,7 +25,7 @@ class Admin::InfosController < ApplicationController
def edit def edit
@attribute = Info.find(params[:id]) @attribute = Info.find(params[:id])
@attribute_fields_upper_object = [@attribute] # @attribute_fields_upper_object = [@attribute]
render :template => 'admin/attributes/edit' render :template => 'admin/attributes/edit'
end end
@ -49,10 +52,20 @@ class Admin::InfosController < ApplicationController
end end
def add_attribute_field def add_attribute_field
attribute = Info.find(params[:info_id]) rescue nil attribute = Info.find(params[:info_id]) rescue nil
@attribute_field_counter = attribute.attribute_fields.count @attribute_field_counter = attribute.attribute_fields.count
@attribute_field = attribute.attribute_fields.build @attribute_field = attribute.attribute_fields.build
@attribute_field.save @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 end
protected protected

View File

@ -8,18 +8,38 @@ class Desktop::CoAuthorRelationsController < ApplicationController
end end
end end
def edit
@co_author_relation = CoAuthorRelation.find(params[:id])
respond_to do |format|
format.html { render :layout => false}
end
end
def new def new
@new_relation = CoAuthorRelation.new @co_author_relation = CoAuthorRelation.new
end end
def create 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 if @co_author_relation.save
newv = render_to_string :partial=>"show_form", :object=>@new_relation newv = render_to_string partial: "show_form", object: @co_author_relations
render json: {success:true, msg: "New Relation successfully saved!","newvalue"=>newv}.to_json render json: {success: true, msg: "New Relation successfully saved!", newvalue: newvm}.to_json
else else
error_msg = @new_relation.errors.full_messages.join("<br />") error_msg = @co_author_relation.errors.full_messages.join("<br />")
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("<br />")
render json: {success: false, msg: error_msg}.to_json render json: {success: false, msg: error_msg}.to_json
end end
end end
@ -27,7 +47,17 @@ class Desktop::CoAuthorRelationsController < ApplicationController
def destroy def destroy
@co_author_relation = CoAuthorRelation.find(params[:id]) @co_author_relation = CoAuthorRelation.find(params[:id])
@co_author_relation.destroy @co_author_relation.destroy
reset_co_author_relation
render :json => {success: true, msg: "deleted successfully!"} render :json => {success: true, msg: "deleted successfully!"}
end 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 end

View File

@ -1,6 +1,8 @@
class Desktop::CoAuthorsController < ApplicationController class Desktop::CoAuthorsController < ApplicationController
def index 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 @co_author_relations = CoAuthorRelation.all
respond_to do |format| respond_to do |format|
@ -8,15 +10,6 @@ class Desktop::CoAuthorsController < ApplicationController
end end
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 def new
@co_author = CoAuthor.new @co_author = CoAuthor.new
@co_author_relations = CoAuthorRelation.all @co_author_relations = CoAuthorRelation.all

View File

@ -1,5 +1,4 @@
class Desktop::JournalListsController < ApplicationController class Desktop::JournalListsController < ApplicationController
def index def index
level_types = JournalLevelType.all level_types = JournalLevelType.all
all_journal_lists = WritingJournal.where(create_user_id: current_user.id) all_journal_lists = WritingJournal.where(create_user_id: current_user.id)
@ -7,8 +6,7 @@ class Desktop::JournalListsController < ApplicationController
[ j.journal_title, [ j.journal_title,
j.journal_level_type_ids.map do |type| j.journal_level_type_ids.map do |type|
level_types.find(type).title level_types.find(type).title
end.join(",") end]
].join(" -- ")
end end
@journal_lists = all_journal_lists.uniq @journal_lists = all_journal_lists.uniq

View File

@ -1,6 +1,4 @@
class Desktop::JournalPagesController < ApplicationController class Desktop::JournalPagesController < ApplicationController
#before_filter :check_for_cancel, :only => [:create, :update]
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
@ -10,9 +8,6 @@ class Desktop::JournalPagesController < ApplicationController
end end
end end
def show
end
def new def new
@writing_journal = WritingJournal.new @writing_journal = WritingJournal.new
@level_types = JournalLevelType.all @level_types = JournalLevelType.all
@ -109,10 +104,4 @@ class Desktop::JournalPagesController < ApplicationController
render json: JSON.pretty_generate(data) render json: JSON.pretty_generate(data)
end end
private
def check_for_cancel
if params[:commit] == "Cancel"
end
end
end end

View File

@ -11,7 +11,6 @@ class Section
def initialize_group def initialize_group
self.groups.build self.groups.build
self.groups.build
end end
end end

View File

@ -4,6 +4,7 @@ class AttributeField
include ::AttributeFieldsHelper include ::AttributeFieldsHelper
field :key field :key
field :af_count
field :markup ,:default=>"text_field" field :markup ,:default=>"text_field"
field :option_list ,:type => Hash,:default => {} field :option_list ,:type => Hash,:default => {}
field :markup_options,:type => Hash field :markup_options,:type => Hash

View File

@ -0,0 +1 @@
$('<%= j render :partial => 'shared/attribute_field/attribute_field', :collection => [@attribute_field] %>').appendTo('#attribute_field_list').hide().fadeIn();

View File

@ -19,12 +19,13 @@
</div> </div>
</div> </div>
<% @attribute_fields_upper_object.each do |attribute|%>
<div class="map-block back attributes"> <div class="map-block back attributes">
<h4><span><%= attribute.title+ t(:attributes)%></span></h4> <h4><span><%= @attribute.title+ t(:attributes)%></span></h4>
<%= render :partial=>"shared/attribute_field/attribute_field",:collection=>attribute.attribute_fields%> <div id="attribute_field_list">
<%= render :partial=>"shared/attribute_field/attribute_field",:collection=>@attribute.attribute_fields%>
</div> </div>
<% end %> </div>
</div> </div>
<div class="form-actions form-fixed pagination-right"> <div class="form-actions form-fixed pagination-right">
<%= 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%> <%= 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%>

0
app/views/desktop/app_manager.html.erb Executable file → Normal file
View File

View File

@ -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, class: "ini_input" %>
<%= f.text_field :relation %> <%= f.submit "Save", class: "ini_input hp hh2 thmtxt thmc2", style: "margin-left: 10px;" %>
<%= f.submit "Save" %> <% if not @co_author_relation.new_record? %>
<%= submit_tag "Cancel", :type => "button", class: "bt-cancel-type ini_input hp hh2 thmtxt" %>
<% end %> <% end %>

View File

@ -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 %>

View File

@ -1,6 +1,17 @@
<%# @co_author_relations.each do |co_author_relation| %> <% @co_author_relations.each_with_index do |co_author_relation,i| %>
<tr> <% if ( i % 6 ) == 0 %>
<td><%= show_form.relation %></td> <div class="s_grid_con s_form">
<td><%= link_to 'Destroy', desktop_co_author_relation_path(show_form), confirm: 'Are you sure?', method: :delete, :class=>"bt-delete" %></td> <ul>
</tr> <% end %>
<%# end %> <li class="s_grid_row">
<div class="form_space"><%= co_author_relation.relation %></div>
<div class="list_item_function">
<%= 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" %>
</div>
</li>
<% if ( i % 6 ) == 5 %>
</ul>
</div>
<% end %>
<% end %>

View File

@ -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 %>

View File

@ -1,17 +1,22 @@
<h1>Listing co_author_relations</h1> <div class="toolbar hh2">
<div class="fn_g hp">
<div class="hh2 sdm">
<div class="sdm_t hp hh2 thmc2 thmtxt">Create</div>
<div class="admbg sdm_o">
<ul>
<li class="vp hp s_form" style="width:282px;"><%= render 'new' %></li>
</ul>
</div>
</div>
<%= submit_tag "Back", :type => "button", class: "bt-cancel fn_btn ini_input hp hh2 thmtxt" %>
</div>
</div>
<%= submit_tag "Back", class: "bt-cancel fn_btn hh2 thmc2 thmtxt" %> <div id="co_author_relation_table" class="tinycanvas vp">
<%= render 'form' %> <div class="scrollbar sb_h vp"><div class="track"><div class="thumb thmc2"><div class="end"></div></div></div></div>
<div class="viewport">
<table id="co_author_relation_table"> <div class="overview">
<thead> <%= render :partial => 'show_form'%>
<tr> </div>
<th>Relation</th> </div>
<th></th> </div>
<th></th>
</tr>
</thead>
<tbody>
<%= render :partial => 'show_form', :collection => @co_author_relations %>
</tbody>
</table>

View File

@ -1,6 +1,6 @@
<div class="fn_g hp"> <div class="fn_g hp">
<%= f.submit "Save", name: "commit", value: "Save", class: "fn_btn hh2 thmc2 thmtxt" %> <%= f.submit "Save", name: "commit", value: "Save", class: "fn_btn hh2 thmc2 thmtxt" %>
<%= submit_tag "Cancel", class: "bt-cancel fn_btn hh2 thmc2 thmtxt" %> <%= submit_tag "Cancel", :type => "button", class: "bt-cancel fn_btn hh2 thmc2 thmtxt" %>
</div> </div>
<div></div> <div></div>

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_relation, html: { multipart: true ,"form-type"=>"ajax_form", "callback-method"=>"coAuthorformCallback"} , url: desktop_co_author_path(@co_author_relation) do |f| %>
<%= render partial: 'desktop/co_authors/form', locals: {:f => f} %> <%= render partial: 'desktop/co_authors/form', locals: {:f => f} %>
<% end %> <% end %>

View File

@ -1,28 +1,34 @@
<h1>list all coauthor</h1> <div class="toolbar hh2">
<%= link_to "New Co-Author", new_desktop_co_author_path, :class=>"bt-co-author" %> <div class="fn_g hp">
<%= link_to "New Type", desktop_co_author_relations_path, :class=>"bt-new-type" %> <%= link_to "New Co-Author", new_desktop_co_author_path, :class=>"bt-co-author fn_btn hp hh2 thmc2 thmtxt" %>
<table> <%= link_to "New Type", desktop_co_author_relations_path, :class=>"bt-new-type fn_btn hp hh2 thmc2 thmtxt" %>
<thead> </div>
<tr> </div>
<th>Name</th> <div id="co_author" class="tinycanvas vp">
<th>EMail</th> <div class="scrollbar sb_h vp"><div class="track"><div class="thumb thmc2"><div class="end"></div></div></div></div>
<th>Type</th> <div class="viewport">
<th></th> <div class="overview">
<th></th> <% @co_authors.each_with_index do |co_author,i| %>
<th></th> <% if ( i % 4 ) == 0 %>
</tr> <div class="g_col">
</thead> <ul>
<tbody>
<% @co_authors.each do |co_author| %>
<tr>
<td><%= co_author.co_author %></td>
<td><%= co_author.email %></td>
<td><%= @co_author_relations.find(co_author.co_author_relations_id).relation \
unless co_author.co_author_relations_id.nil?%></td>
<td><%= link_to 'Edit', edit_desktop_co_author_path(co_author), :class => "bt-edit" %></td>
<td><%= link_to 'Destroy', desktop_co_author_path(co_author), method: :delete, confirm: 'Are you sure?', :class=>"bt-delete" %></td>
</tr>
<% end %> <% end %>
</tbody> <li class="list_t_item">
</table> <ul class="info">
<br /> <li><div class="name"><%= co_author.co_author %></div></li>
<li><div class="email"><i class="icon-envelope"></i> <%= co_author.email %></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>
<div class="list_item_function">
<%= 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" %>
</div>
</li>
<% if ( i % 4 ) == 3 %>
</ul>
</div>
<% end %>
<% end %>
</div>
</div>
</div>

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: desktop_co_authors_path do |f| %>
<%= render partial: 'desktop/co_authors/form', locals: {:f => f} %> <%= render partial: 'desktop/co_author_relations/form', locals: {:f => f} %>
<% end %> <% end %>

0
app/views/desktop/desktop.html.erb Executable file → Normal file
View File

0
app/views/desktop/index.html.erb Executable file → Normal file
View File

View File

@ -1,17 +0,0 @@
<%= form_for(@desktop_journal_list) do |f| %>
<% if @desktop_journal_list.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@desktop_journal_list.errors.count, "error") %> prohibited this desktop_journal_list from being saved:</h2>
<ul>
<% @desktop_journal_list.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="actions">
<%= f.submit %>
</div>
<% end %>

View File

@ -1,6 +0,0 @@
<h1>Editing desktop_journal_list</h1>
<%= render 'form' %>
<%= link_to 'Show', @desktop_journal_list %> |
<%= link_to 'Back', desktop_journal_lists_path %>

View File

@ -1,24 +1,40 @@
<h1>journal_title -- journal_level</h1> <div class="toolbar hh2">
<div class="hh2 hp sdm">
<div class="sdm_t hh2">Share</div>
<div class="admbg sdm_o">
<ul>
<li><a class="hp hh2 admtxt" href="">Friends</a></li>
<li><a class="hp hh2 admtxt" href="">Private</a></li>
<li><a class="hp hh2 admtxt" href="">Group</a></li>
</ul>
</div>
</div>
<div class="hh2 hp sdm">
<div class="sdm_t hh2"><span class="icon-question-sign"></span></div>
</div>
</div>
<div id="journal_list" class="tinycanvas vp">
<div class="scrollbar sb_h vp"><div class="track"><div class="thumb thmc2"><div class="end"></div></div></div></div> <div class="scrollbar sb_h vp"><div class="track"><div class="thumb thmc2"><div class="end"></div></div></div></div>
<div class="viewport"> <div class="viewport">
<div class="overview"> <div class="overview">
<div class="s_grid_con s_form">
<% @journal_lists.each_with_index do |journal_list,i| %> <% @journal_lists.each_with_index do |journal_list,i| %>
<% if ( i % 5 ) == 0 %> <% if ( i % 5 ) == 0 %>
<div class="s_grid_con s_form"> <div class="g_col">
<ul> <ul>
<% end %> <% end %>
<li class="s_grid_row"> <li class="list_t_item">
<%= journal_list %> <div class="list_item_action">
<i class="icon-file"></i>
</div>
<% title, level = journal_list %>
<div class="list_t_title"><%= title %></div>
<div class="list_t_desc"><%= level.join(",") %></div>
</li> </li>
<% if ( i % 5 ) == 4 %> <% if ( i % 5 ) == 4 %>
</ul> </ul>
</div> </div>
<% end %> <% end %>
<% end %> <% end %>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,5 +0,0 @@
<h1>New desktop_journal_list</h1>
<%= render 'form' %>
<%= link_to 'Back', desktop_journal_lists_path %>

View File

@ -1,5 +0,0 @@
<p id="notice"><%= notice %></p>
<%= link_to 'Edit', edit_desktop_journal_list_path(@desktop_journal_list) %> |
<%= link_to 'Back', desktop_journal_lists_path %>

View File

@ -1,33 +1,28 @@
<div class="toolbar hh2"> <div class="toolbar hh2">
<div class="fn_g hp"> <div class="fn_g hp">
<%= 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" %>
<!-- class: bt-cancle can't be remove --> <!-- class: bt-cancle can't be remove -->
<% if not @writing_journal.new_record? %> <% 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 %> <% end %>
</div> </div>
<div class="hh2 hp sdm"> <!--<div class="hh2 hp sdm">
<div class="sdm_t hh2">Entry Year</div> <div class="sdm_t hh2">Entry Year</div>
<div class="admbg sdm_o"> <div class="admbg sdm_o">
<!--<ul> <ul>
<li><a class="hp hh2 admtxt" href="">2012</a></li> <li><a class="hp hh2 admtxt" href="">2012</a></li>
<li><a class="hp hh2 admtxt" href="">2011</a></li>
<li><a class="hp hh2 admtxt" href="">2010</a></li>
<li><a class="hp hh2 admtxt" href="">2009</a></li>
<li><a class="hp hh2 admtxt" href="">2008</a></li>
</ul> </ul>
-->
</div> </div>
</div> </div>
<div class="hh2 hp sdm"> <div class="hh2 hp sdm">
<div class="sdm_t hh2">Language</div> <div class="sdm_t hh2">Language</div>
<div class="admbg sdm_o"> <div class="admbg sdm_o">
<ul> <ul>
<!--<li><a class="hp hh2 admtxt" href="">English</a></li> <li><a class="hp hh2 admtxt" href="">English</a></li>
<li><a class="hp hh2 admtxt" href="">Chinese</a></li>--> <li><a class="hp hh2 admtxt" href="">Chinese</a></li>
</ul> </ul>
</div> </div>
</div> </div>-->
<div class="hh2 hp sdm"> <div class="hh2 hp sdm">
<div class="sdm_t hh2">Share</div> <div class="sdm_t hh2">Share</div>
<div class="admbg sdm_o"> <div class="admbg sdm_o">
@ -74,15 +69,6 @@
<!--<label for="">Journal Level</label> <!--<label for="">Journal Level</label>
<ul> <ul>
<li><input type="checkbox"><label for="">SCI</label></li> <li><input type="checkbox"><label for="">SCI</label></li>
<li><input type="checkbox"><label for="">SCIE</label></li>
<li><input type="checkbox"><label for="">SSCI</label></li>
<li><input type="checkbox"><label for="">AH & HCI</label></li>
<li><input type="checkbox"><label for="">EI</label></li>
<li><input type="checkbox"><label for="">CSCI</label></li>
<li><input type="checkbox"><label for="">CSSCI</label></li>
<li><input type="checkbox"><label for="">TSCI</label></li>
<li><input type="checkbox"><label for="">TSSCI</label></li>
<li><input type="checkbox"><label for="">THCI</label></li>
</ul>--> </ul>-->
</div> </div>
</li> </li>
@ -138,28 +124,21 @@
%> %>
</select> </select>
</li> </li>
<ul>
<li class="s_grid_row"> <li class="s_grid_row">
<%= label_tag("", "Date of Publication", class: "s_grid_4 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'} %>
</li> </li>
<li class="s_grid_row">
<%= 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'} %>
</li>
</ul>
<li class="s_grid_row"> <li class="s_grid_row">
<%= f.text_field :keywords, size: "20", value: @writing_journal.keywords ||= "Keywords", class: "s_grid_6 s_grid"%> <%= f.text_field :keywords, size: "20", value: @writing_journal.keywords ||= "Keywords", class: "s_grid_6 s_grid"%>
</li> </li>
<li class="s_grid_row"> <li class="s_grid_row">
<div><%= f.label :year ,:class => "s_grid_2 s_grid" %></div> <%= f.label :year ,:class => "s_grid_2 s_grid" %>
<div><%= 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"} ) %></div> <%= 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"} ) %>
</li> </li>
<li class="s_grid_row"> <li class="s_grid_row">
<div><%= f.label :language ,:class => "s_grid_2 s_grid" %></div> <%= f.label :language ,:class => "s_grid_2 s_grid" %>
<select name="writing_journal[language][]" id="" class="s_grid s_grid_4"> <select name="writing_journal[language][]" id="" class="s_grid s_grid_4">
<%= options_for_select( <%= options_for_select(
[["Chinese", "Chinese"], [["Chinese", "Chinese"],
@ -174,7 +153,7 @@
<span class="icon-plus input_append"></span> <span class="icon-plus input_append"></span>
</li> </li>
<li class="s_grid_row"> <li class="s_grid_row">
<select name="" id="" class="s_grid s_grid_2"> <select name="" id="" class="s_grid s_grid_3">
<option value="">Status</option> <option value="">Status</option>
<option value="">Published</option> <option value="">Published</option>
<option value="">Pending</option> <option value="">Pending</option>
@ -184,23 +163,22 @@
</ul> </ul>
</div> </div>
<div class="s_grid_con s_form"> <div class="s_grid_con s_form">
<span class="icon-plus input_append"></span>
<ul> <ul>
<li class="s_grid_row"> <li class="s_grid_row">
<table> <table class="s_table">
<thead> <thead>
<tr> <tr>
<th class="s_grid_2 s_grid">File</th> <th class="s_grid_2">File</th>
<th class="s_grid_2 s_grid">File Name</th> <th class="s_grid_3">File Name</th>
<th><span id='add_plugin_file' class="icon-plus input_append"></span></th> <th class="s_grid_1">Action</th>
</tr> </tr>
</thead> </thead>
<tfoot> <tfoot>
<tr> <tr>
<td> <td colspan="3">
<div id='add_plugin_file' class="info_input plugin_files_block"> <div id='add_plugin_file' class="info_input plugin_files_block s_action">
<%= hidden_field_tag 'plugin_file_field_count', @writing_journal.writing_journal_files.count %> <%= hidden_field_tag 'plugin_file_field_count', @writing_journal.writing_journal_files.count %>
<a class="add"><span><i class="icon-plus icon-white"></i> add </span></a> <a class="add setting_btn thmc1 thmtxt w1 hh2 hp" href=""><i class="icon-plus icon-white"></i> add</a>
</div> </div>
</td> </td>
</tr> </tr>
@ -216,15 +194,16 @@
</li> </li>
</div> </div>
<div class="s_grid_con s_form"> <div class="s_grid_con s_form">
<ul>
<li class="s_grid_row"> <li class="s_grid_row">
<%= 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"%>
</li> </li>
</ul> </ul>
</div> </div>
<div class="s_grid_con s_form"> <div class="s_grid_con s_form">
<ul> <ul>
<li class="s_grid_row"> <li class="s_grid_row">
<%= 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"%>
</li> </li>
</ul> </ul>
</div> </div>
@ -248,6 +227,7 @@
newfield.find('.action a.delete').click(function(){ newfield.find('.action a.delete').click(function(){
newfield.remove(); newfield.remove();
}); });
return false;
}); });
$('.action a.remove_existing_record').click(function(){ $('.action a.remove_existing_record').click(function(){

View File

@ -1,12 +1,12 @@
<tr id="<%= "plugin_file_#{form_file.id}" if !form_file.new_record? %>" class="list_item"> <tr id="<%= "plugin_file_#{form_file.id}" if !form_file.new_record? %>" class="list_item">
<td> <td>
<div> <div>
<%= f.file_field :file, class: "s_grid_1 s_grid" %> <%= f.file_field :file, class: "s_grid_2 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)} ) : '' %> <%= form_file.file.file ? ( link_to t(:view), form_file.file.url, {:class => 'btn s_grid_1 s_grid', :target => '_blank', :title => t(:view)} ) : '' %>
</div> </div>
</td> </td>
<td> <td>
<%= f.text_field :title, :class=>'s_grid_1 s_grid' %> <%= f.text_field :title, :class=>'s_grid_3 s_grid' %>
</td> </td>
<td> <td>

View File

@ -9,8 +9,8 @@
<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="" class="admtxt hh2 w2 hp" onclick='return false;'>Overview</a></li> <li><a href="" class="admtxt hh2 w2 hp" load="true" onclick='return false;'>Overview</a></li>
<li><a href="<%= edit_user_registration_path %>" callback-method="account" custom-load="account" class="admtxt hh2 w2 hp" load="true" onclick='return false;'>Account</a></li> <li><a href="<%= edit_user_registration_path %>" callback-method="account" custom-load="account" class="admtxt hh2 w2 hp" onclick='return false;'>Account</a></li>
<li><a href="<%= desktop_sections_path %>" callback-method="sections" custom-load="sections" class="admtxt hh2 w2 hp" onclick='return false;'>Sections</a></li> <li><a href="<%= desktop_sections_path %>" callback-method="sections" custom-load="sections" class="admtxt hh2 w2 hp" onclick='return false;'>Sections</a></li>
<li><a href="<%= desktop_themes_path %>" callback-method="themes" class="admtxt hh2 w2 hp" onclick='return false;'>Theme</a></li> <li><a href="<%= desktop_themes_path %>" callback-method="themes" class="admtxt hh2 w2 hp" onclick='return false;'>Theme</a></li>
<li><a href="<%= desktop_connections_path %>" callback-method="connection" class="admtxt hh2 w2 hp" onclick='return false;'>Connection</a></li> <li><a href="<%= desktop_connections_path %>" callback-method="connection" class="admtxt hh2 w2 hp" onclick='return false;'>Connection</a></li>

View File

@ -1,14 +1,18 @@
<div class="vp">
<div class="s_title hh3">Password Managment</div>
<%= form_for(resource, :as => resource_name, :url => users_passwd_path(resource_name), :html => { :method => :put, "form-type"=>"ajax_form" ,"callback-method"=>"passwordUpdate" }) do |f| %> <%= form_for(resource, :as => resource_name, :url => users_passwd_path(resource_name), :html => { :method => :put, "form-type"=>"ajax_form" ,"callback-method"=>"passwordUpdate" }) do |f| %>
<div><%= f.submit "Update" %></div> <ul class="s_form">
<li><%= f.label :current_password %>
<%= f.password_field :current_password %></li>
<div><%= f.label :current_password %> <li><%= f.label :password %>
<%= f.password_field :current_password %></div> <%= f.password_field :password %></li>
<div><%= f.label :password %> <li><%= f.label :password_confirmation %>
<%= f.password_field :password %></div> <%= f.password_field :password_confirmation %></li>
</ul>
<div><%= f.label :password_confirmation %><br /> <div class="s_action"><%= f.submit "Update", :class => "setting_btn thmc1 thmtxt w1 hh2 hp" %></div>
<%= f.password_field :password_confirmation %></div>
<% end %> <% end %>
</div>

View File

@ -1,24 +1,29 @@
<div class="form-horizontal"> <div class="form-horizontal">
<%
attribute_field.af_count ? @af_counter = attribute_field_counter + attribute_field.af_count : @af_counter = attribute_field_counter
%>
<%= @af_counter %>
<%#= attribute_field_counter %>
<legend> <legend>
<button class="onoff pull-right <%= attribute_field.disabled ? 'disabled' : ''%>">ON</button> <button class="onoff pull-right <%= attribute_field.disabled ? 'disabled' : ''%>">ON</button>
<%= hidden_field "info[attribute_fields][#{attribute_field_counter}]","disabled",:value=>attribute_field.disabled,:class=>"attribute_field_disabled"%> <%= hidden_field "info[attribute_fields][#{@af_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}]","to_delete",:value=>false,:class=>"attribute_field_to_delete"%>
<a class="btn btn-small pull-right btn-danger remove_attribute" href="#"><i class="icon-trash icon-large"></i> <%= t(:delete_)%></a> <a class="btn btn-small pull-right btn-danger remove_attribute" href="#"><i class="icon-trash icon-large"></i> <%= t(:delete_)%></a>
<div class="clear"> <div class="clear">
<div class="control-group pull-left"> <div class="control-group pull-left">
<label class="control-label" for="key"><%= t(:key) %></label> <label class="control-label" for="key"><%= t(:key) %></label>
<div class="multipleInput"> <div class="multipleInput">
<div class="controls"> <div class="controls">
<%= 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%>
</div> </div>
</div> </div>
</div> </div>
<%= 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]"}%>
<div class="control-group pull-left"> <div class="control-group pull-left">
<label class="control-label" for=""><%= t(:type)%></label> <label class="control-label" for=""><%= t(:type)%></label>
<div class="controls"> <div class="controls">
<%#= select_tag "info[attribute_fields][#{attribute_field_counter}][markup]" do %> <%#= select_tag "info[attribute_fields][#{@af_counter}][markup]" do %>
<select class="dataType" name=<%= "info[attribute_fields][#{attribute_field_counter}][markup]"%>> <select class="dataType" name=<%= "info[attribute_fields][#{@af_counter}][markup]"%>>
<%LIST[:markups].each do |key,val|%> <%LIST[:markups].each do |key,val|%>
<option value="<%= key %>" <%= attribute_field.markup == key ? 'selected="selected"' : '' %> ref="<%=val["panel"]%>"><%=t("lists.markups."+key)%></option > <option value="<%= key %>" <%= attribute_field.markup == key ? 'selected="selected"' : '' %> ref="<%=val["panel"]%>"><%=t("lists.markups."+key)%></option >
<% end %> <% end %>
@ -33,25 +38,25 @@
<label class="control-label"><%= t(:options)%></label> <label class="control-label"><%= t(:options)%></label>
<div class="controls"> <div class="controls">
<label class="checkbox inline"> <label class="checkbox inline">
<%= check_box_tag("info[attribute_fields][#{attribute_field_counter}][typeA][cross_lang]","true",attribute_field["typeA"]["cross_lang"]) %> <%= check_box_tag("info[attribute_fields][#{@af_counter}][typeA][cross_lang]","true",attribute_field["typeA"]["cross_lang"]) %>
<%= t(:cross_lang)%> <%= t(:cross_lang)%>
</label> </label>
<label class="checkbox inline"> <label class="checkbox inline">
<%= check_box_tag("info[attribute_fields][#{attribute_field_counter}][typeA][add_more]","true",attribute_field["typeA"]["add_more"]) %> <%= check_box_tag("info[attribute_fields][#{@af_counter}][typeA][add_more]","true",attribute_field["typeA"]["add_more"]) %>
<%= t(:add_more)%> <%= t(:add_more)%>
</label> </label>
</div> </div>
</div> </div>
<%= 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 %> <% end %>
<%= content_tag :div,:class=>show_type_panel(attribute_field,"typeB") do %> <%= 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?%> <% 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%> <%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 #of self_defined_markup_options?%>
<% end %> <% end %>
@ -59,17 +64,17 @@
<div class="control-group"> <div class="control-group">
<label class="control-label"><%= t("date.format")%></label> <label class="control-label"><%= t("date.format")%></label>
<div class="controls"> <div class="controls">
<%= 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"] %>
</div> </div>
</div> </div>
<div class="control-group"> <div class="control-group">
<label class="control-label"><%= t("date.range")%></label> <label class="control-label"><%= t("date.range")%></label>
<div class="controls"> <div class="controls">
<label class="radio inline"> <label class="radio inline">
<%= radio_button("info[attribute_fields][#{attribute_field_counter}][typeC]", "is_range", "false",:checked => (!attribute_field.date_is_range? ? true : false)) %><%= t(:yes_)%> <%= radio_button("info[attribute_fields][#{@af_counter}][typeC]", "is_range", "false",:checked => (!attribute_field.date_is_range? ? true : false)) %><%= t(:yes_)%>
</label> </label>
<label class="radio inline"> <label class="radio inline">
<%= radio_button("info[attribute_fields][#{attribute_field_counter}][typeC]", "is_range", "true",:checked => (attribute_field.date_is_range? ? true : false)) %><%= t(:no_)%> <%= radio_button("info[attribute_fields][#{@af_counter}][typeC]", "is_range", "true",:checked => (attribute_field.date_is_range? ? true : false)) %><%= t(:no_)%>
</label> </label>
</div> </div>
</div> </div>
@ -77,10 +82,10 @@
<label class="control-label"><%= t("date.calendar")%></label> <label class="control-label"><%= t("date.calendar")%></label>
<div class="controls"> <div class="controls">
<label class="radio inline"> <label class="radio inline">
<%= radio_button("info[attribute_fields][#{attribute_field_counter}][typeC]", "calendar", "west_calendar",:checked =>(attribute_field["typeC"]["calendar"]== "west_calendar" ? true : false)) %><%= t("date.west_calendar")%> <%= radio_button("info[attribute_fields][#{@af_counter}][typeC]", "calendar", "west_calendar",:checked =>(attribute_field["typeC"]["calendar"]== "west_calendar" ? true : false)) %><%= t("date.west_calendar")%>
</label> </label>
<label class="radio inline"> <label class="radio inline">
<%= radio_button("info[attribute_fields][#{attribute_field_counter}][typeC]", "calendar", "tw_calendar",:checked =>(attribute_field["typeC"]["calendar"]== "tw_calendar" ? true : false)) %><%= t("date.tw_calendar")%> <%= radio_button("info[attribute_fields][#{@af_counter}][typeC]", "calendar", "tw_calendar",:checked =>(attribute_field["typeC"]["calendar"]== "tw_calendar" ? true : false)) %><%= t("date.tw_calendar")%>
</label> </label>
</div> </div>
</div> </div>
@ -90,16 +95,16 @@
<label class="control-label"><%= t(:options)%></label> <label class="control-label"><%= t(:options)%></label>
<div class="controls"> <div class="controls">
<label class="checkbox inline"> <label class="checkbox inline">
<%= check_box_tag("info[attribute_fields][#{attribute_field_counter}][typeD][cross_lang]","true",attribute_field["typeD"]["cross_lang"]) %> <%= check_box_tag("info[attribute_fields][#{@af_counter}][typeD][cross_lang]","true",attribute_field["typeD"]["cross_lang"]) %>
<%= t(:cross_lang)%> <%= t(:cross_lang)%>
</label> </label>
</div> </div>
</div> </div>
<%= 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 %> <% end %>
<%= content_tag :div,:class=>show_type_panel(attribute_field,"typeE") do%> <%= 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 %> <% end %>
</div> </div>
<%= 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%>
</div> </div>

View File

@ -180,10 +180,10 @@ Orbit::Application.routes.draw do
match '/widget_layout' => 'desktop#widget_layout' match '/widget_layout' => 'desktop#widget_layout'
match '/temp_func/'=>'desktop#temp_func' match '/temp_func/'=>'desktop#temp_func'
resources :journal_pages resources :journal_pages, except: :show
resources :journal_lists resources :journal_lists, only: :index
resources :co_authors resources :co_authors, except: :show
resources :co_author_relations resources :co_author_relations, except: :show
end end
# namespace :desktop_publications do # namespace :desktop_publications do

BIN
db/files/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 959 KiB

BIN
db/files/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1023 KiB

BIN
db/files/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

BIN
db/files/4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1023 KiB

BIN
db/files/5.pdf Normal file

Binary file not shown.

BIN
db/files/6.pdf Normal file

Binary file not shown.

BIN
db/files/7.pdf Normal file

Binary file not shown.

View File

@ -5,6 +5,8 @@ require 'json'
CoAuthor.destroy_all CoAuthor.destroy_all
CoAuthorRelation.destroy_all CoAuthorRelation.destroy_all
WritingJournal.destroy_all WritingJournal.destroy_all
WritingJournalFile.destroy_all
JournalLevelType.destroy_all
data = File.read("db/data") data = File.read("db/data")
data_json = JSON.parse(data) data_json = JSON.parse(data)
@ -17,9 +19,32 @@ name_en = name_en.map do |p| Faker::Name::name end
email = Array.new 51,"" email = Array.new 51,""
email= email.map do |p| Faker::Internet.email end email= email.map do |p| Faker::Internet.email end
type = ["friend0", "teacher0", "student0", "mate0", "relation0", "friend1", "teacher1", "student1", "mate1", "relation1"] type = ["friend", "teacher", "student", "schoolmate", "parent", "best friend", "instructor", "labmate", "TA", "mate"]
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"]
level = ["SCI", "SCIE", "SSCI", "AH & HCI", "EI", "CSCI", "CSSCI", "TSCI", "TSSCI", "THCI"]
FactoryGirl.define do 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
factory(:upload_file, class: "WritingJournalFile") do |f|
f.sequence(:file) do |n|
File.new(File.join(Rails.root, "db" ,"files", file[Random.rand(0..6)]))
end
f.sequence(:title) do |n|
"#{file_desc[Random.rand(0..6)]}"
end
end
factory(:type, class: "CoAuthorRelation") do |f| factory(:type, class: "CoAuthorRelation") do |f|
f.sequence(:relation_translations) do |n| f.sequence(:relation_translations) do |n|
{ zh_tw: "#{type[n%type.size]}", { zh_tw: "#{type[n%type.size]}",
@ -33,7 +58,7 @@ FactoryGirl.define do
{ zh_tw: "#{name_tw[n]}", { zh_tw: "#{name_tw[n]}",
en: "#{name_en[n]}" } en: "#{name_en[n]}" }
end end
f.sequence(:type) do |n| "#{type[n%5]}" end f.sequence(:co_author_relations_id) do |n| "#{CoAuthorRelation.all[n%type.size].id}" end
f.sequence(:email) do |n| "#{email[n]}" end f.sequence(:email) do |n| "#{email[n]}" end
f.name_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account f.name_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account
end end
@ -85,20 +110,38 @@ FactoryGirl.define do
"#{data_json[n]["abstract"].split[-3..-1].join(",")}" "#{data_json[n]["abstract"].split[-3..-1].join(",")}"
end end
f.sequence(:journal_level_types) do |n|
level = []
total_levels = Random.rand(1..JournalLevelType.count)
total_levels.times do
level << JournalLevelType.all[Random.rand(0..JournalLevelType.count-1)]
end
level.uniq
end
f.sequence(:writing_journal_files) do |n|
files = []
total_files = Random.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.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 f.update_user_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account
end end
end end
10.times.each do (level.size - 1).times do
FactoryGirl.create(:journal_level)
end
10.times do
FactoryGirl.create(:type) FactoryGirl.create(:type)
end end
50.times.each do 50.times do
FactoryGirl.create(:paper_record) FactoryGirl.create(:paper_record)
end end
50.times.each do 50.times do
FactoryGirl.create(:co_author_candidate) FactoryGirl.create(:co_author_candidate)
end end

View File

@ -12,6 +12,7 @@ xml.rss :version => "2.0" do
xml.item do xml.item do
xml.title bulletin.title_translations[I18n.locale.to_s] xml.title bulletin.title_translations[I18n.locale.to_s]
xml.pubDate bulletin.postdate.to_s(:rfc822) 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.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.guid url_for(:action=>"show", :controller=>"panel/announcement/front_end/bulletins", :id=>bulletin ,:only_path=>false)
xml.fb_share generate_fb_url(bulletin, "announcement") xml.fb_share generate_fb_url(bulletin, "announcement")

View File

@ -8,8 +8,8 @@ xml.rss :version => "2.0" do
end end
xml.link url_for(:action=>"index", :controller=>"panel/announcement/front_end/bulletins",:format=> :rss,:only_path=>false,:inner=>true) xml.link url_for(:action=>"index", :controller=>"panel/announcement/front_end/bulletins",:format=> :rss,:only_path=>false,:inner=>true)
xml.item do xml.item do
xml.title @bulletin.title xml.title @bulletin.title_translations[I18n.locale.to_s]
xml.description @bulletin.text xml.description @bulletin.text_translations[I18n.locale.to_s]
xml.pubDate @bulletin.postdate.to_s(:rfc822) 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.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) xml.guid url_for(:action=>"show", :controller=>"panel/announcement/front_end/bulletins", :id=>@bulletin ,:only_path=>false)