have done conference author filter, journal haven't been done, yet
This commit is contained in:
parent
db60a3bcfa
commit
625f2e9ad6
1
Gemfile
1
Gemfile
|
@ -13,6 +13,7 @@ gem 'exception_notification' # Send error trace
|
||||||
gem 'execjs'
|
gem 'execjs'
|
||||||
gem 'jquery-rails', '2.1.4'
|
gem 'jquery-rails', '2.1.4'
|
||||||
gem 'jquery-ui-rails'
|
gem 'jquery-ui-rails'
|
||||||
|
gem "select2-rails"
|
||||||
gem 'kaminari', :git => 'git://github.com/amatsuda/kaminari.git'
|
gem 'kaminari', :git => 'git://github.com/amatsuda/kaminari.git'
|
||||||
|
|
||||||
# gem "memcached", "~> 1.4.3"
|
# gem "memcached", "~> 1.4.3"
|
||||||
|
|
|
@ -16,4 +16,4 @@
|
||||||
//= require orbitdesktop
|
//= require orbitdesktop
|
||||||
//= require jquery.gridster
|
//= require jquery.gridster
|
||||||
//= require desktop/books_pages
|
//= require desktop/books_pages
|
||||||
//= require jquery.tokeninput
|
//= require select2
|
||||||
|
|
|
@ -15,4 +15,5 @@
|
||||||
*= require desktop/desktop-media
|
*= require desktop/desktop-media
|
||||||
*= require desktop/desktop-timeline
|
*= require desktop/desktop-timeline
|
||||||
*= require orbit-bar
|
*= require orbit-bar
|
||||||
|
*= require select2
|
||||||
*/
|
*/
|
|
@ -1,116 +1,218 @@
|
||||||
orbitDesktop.prototype.initializeConferencePapers = function(target,url,cache){ // this init conference papers
|
orbitDesktop.prototype.initializeConferencePapers = function(target,url,cache){ // this init conference papers
|
||||||
this.initializeConferencePapers.formCallback = function(data){
|
this.initializeConferencePapers.formCallback = function(data){
|
||||||
if(data.success){
|
if(data.success){
|
||||||
o.notify(data.msg,"success");
|
o.notify(data.msg,"success");
|
||||||
o.sub_menu_item($("div[content-type=menu] a").eq(0));
|
o.sub_menu_item($("div[content-type=menu] a").eq(0));
|
||||||
}else{
|
}else{
|
||||||
o.notify(data.msg,"alert");
|
o.notify(data.msg,"alert");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.initializeConferencePapers.list = function(){ // to open list part in conference papers page
|
||||||
|
var conferenceData;
|
||||||
|
var bindHandlers = function(){ // to bind handlers for list page
|
||||||
|
o.simple_drop_down();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.initializeConferencePapers.list = function(){ // to open list part in conference papers page
|
var bindSecondaryHandlers = function(){
|
||||||
var conferenceData;
|
$("#conference_p div#paper_list a.icon-check-empty").click(function(){
|
||||||
var bindHandlers = function(){ // to bind handlers for list page
|
if($(this).hasClass("icon-check-empty")){
|
||||||
o.simple_drop_down();
|
$(this).switchClass("icon-check-empty","icon-check",0);
|
||||||
}
|
} else if($(this) .hasClass("icon-check")) {
|
||||||
|
$(this).switchClass("icon-check","icon-check-empty",0);
|
||||||
var bindSecondaryHandlers = function(){
|
} else if($(this).hasClass("icon-star")){
|
||||||
$("#conference_p div#paper_list a.icon-check-empty").click(function(){
|
$(this).removeClass("icon-star").addClass("icon-star-empty");
|
||||||
if($(this).hasClass("icon-check-empty")){
|
} else if($(this).hasClass("icon-star-empty")){
|
||||||
$(this).switchClass("icon-check-empty","icon-check",0);
|
$(this).removeClass("icon-star-empty").addClass("icon-star");
|
||||||
} else if($(this) .hasClass("icon-check")) {
|
|
||||||
$(this).switchClass("icon-check","icon-check-empty",0);
|
|
||||||
} else if($(this).hasClass("icon-star")){
|
|
||||||
$(this).removeClass("icon-star").addClass("icon-star-empty");
|
|
||||||
} else if($(this).hasClass("icon-star-empty")){
|
|
||||||
$(this).removeClass("icon-star-empty").addClass("icon-star");
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
this.initializeConferencePapers.paperDelete = function(data,dom){
|
|
||||||
var parent = dom.parent().parent();
|
|
||||||
if(data.success){
|
|
||||||
parent.hide("slide",function(){parent.remove();});
|
|
||||||
o.notify(data.msg,"success");
|
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
}
|
||||||
this.initializeConferencePapers.editpaper = function(){
|
this.initializeConferencePapers.paperDelete = function(data,dom){
|
||||||
o.highlight_sub_menu_item(1)
|
var parent = dom.parent().parent();
|
||||||
|
if(data.success){
|
||||||
|
parent.hide("slide",function(){parent.remove();});
|
||||||
|
o.notify(data.msg,"success");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this.initializeConferencePapers.addpaper = function(){ // to open add pages in conference papers page
|
this.initializeConferencePapers.editpaper = function(){
|
||||||
var bindHandlers = function(){ // to bind handlers for add page
|
o.highlight_sub_menu_item(1);
|
||||||
o.simple_drop_down();
|
var uploadFiles = function(){
|
||||||
$('#add_plugin_file a.add').click(function(){
|
$('#add_plugin_file a.add').click(function(){
|
||||||
var new_id = $(this).prev().attr('value');
|
var new_id = $(this).prev().attr('value');
|
||||||
var old_id = new RegExp("new_writing_conference_files", "g");
|
var old_id = new RegExp("new_writing_conference_files", "g");
|
||||||
$(this).prev().attr('value', parseInt(new_id) + 1);
|
$(this).prev().attr('value', parseInt(new_id) + 1);
|
||||||
var x = get_html(old_id,new_id);
|
var x = get_html(old_id,new_id);
|
||||||
var newfield = $(x);
|
var newfield = $(x);
|
||||||
$(this).parents('table').append(newfield);
|
$(this).parents('table').append(newfield);
|
||||||
newfield.find('.action a.delete').click(function(){
|
newfield.find('.action a.delete').click(function(){
|
||||||
newfield.remove();
|
newfield.remove();
|
||||||
});
|
|
||||||
return false;
|
|
||||||
});
|
});
|
||||||
|
return false;
|
||||||
$('.action a.remove_existing_record').click(function(){
|
});
|
||||||
$(this).next('.should_destroy').attr('value', 1);
|
$('.action a.remove_existing_record').click(function(){
|
||||||
$("tr#add_plugin_file_" + $(this).prev().attr('value')).hide();
|
$(this).next('.should_destroy').attr('value', 1);
|
||||||
});
|
$("tr#add_plugin_file_" + $(this).prev().attr('value')).hide();
|
||||||
}
|
});
|
||||||
bindHandlers();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.initializeConferencePapers.conference = function(){ // to open add pages in conference papers page
|
var tokesplits = function(){
|
||||||
var bindHandlers = function(){ // to bind handlers for add page
|
$("#writing_conference_author_tokens").select2({
|
||||||
o.simple_drop_down();
|
multiple: true,
|
||||||
}
|
minimumInputLength: 1,
|
||||||
bindHandlers();
|
width: "300px;",
|
||||||
|
formatResult: function movieFormatResult(coAuthor) {
|
||||||
|
var markup = "";
|
||||||
|
if (coAuthor.text !== undefined && coAuthor.email !== undefined) {
|
||||||
|
markup += coAuthor.text + " -- " + coAuthor.email;
|
||||||
|
}else if (coAuthor.email !== undefined) {
|
||||||
|
markup += coAuthor.text;
|
||||||
|
}
|
||||||
|
return markup;
|
||||||
|
},
|
||||||
|
ajax: {
|
||||||
|
url: "/panel/personal_conference/desktop/conference_pages/new.json",
|
||||||
|
dataType: 'json',
|
||||||
|
quietMillis: 100,
|
||||||
|
tokenSeparators: [","],
|
||||||
|
data: function (search, page) {
|
||||||
|
return {q: search};
|
||||||
|
},
|
||||||
|
results: function (data, page) {
|
||||||
|
return {results: data.results};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#writing_conference_author_tokens").select2("container").find("ul.select2-choices").sortable({
|
||||||
|
containment: 'parent',
|
||||||
|
start: function() { $("#writing_conference_author_tokens").select2("onSortStart"); },
|
||||||
|
update: function() { $("#writing_conference_author_tokens").select2("onSortEnd"); }
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
this.initializeConferencePapers.coAuthorformCallback = function(data){
|
var preData = function(){
|
||||||
if(data.success){
|
$("#writing_conference_author_tokens").select2('data', JSON.parse($("#writing_conference_author_tokens").attr('data-pre')));
|
||||||
o.notify(data.msg,"success");
|
}
|
||||||
o.sub_menu_item($("div[content-type=menu] a").eq(3));
|
|
||||||
}else{
|
uploadFiles();
|
||||||
o.notify(data.msg,"alert");
|
tokesplits();
|
||||||
}
|
preData();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.initializeConferencePapers.addpaper = function(){ // to open add pages in conference papers page
|
||||||
|
var uploadFiles = function(){
|
||||||
|
$('#add_plugin_file a.add').click(function(){
|
||||||
|
var new_id = $(this).prev().attr('value');
|
||||||
|
var old_id = new RegExp("new_writing_conference_files", "g");
|
||||||
|
$(this).prev().attr('value', parseInt(new_id) + 1);
|
||||||
|
var x = get_html(old_id,new_id);
|
||||||
|
var newfield = $(x);
|
||||||
|
$(this).parents('table').append(newfield);
|
||||||
|
newfield.find('.action a.delete').click(function(){
|
||||||
|
newfield.remove();
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
$('.action a.remove_existing_record').click(function(){
|
||||||
|
$(this).next('.should_destroy').attr('value', 1);
|
||||||
|
$("tr#add_plugin_file_" + $(this).prev().attr('value')).hide();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log("hi");
|
||||||
|
var bindHandlers = function(){
|
||||||
|
o.simple_drop_down();
|
||||||
|
}
|
||||||
|
|
||||||
|
var tokesplits = function(){
|
||||||
|
$("#writing_conference_author_tokens").select2({
|
||||||
|
multiple: true,
|
||||||
|
minimumInputLength: 1,
|
||||||
|
width: "300px;",
|
||||||
|
formatResult: function movieFormatResult(coAuthor) {
|
||||||
|
var markup = "";
|
||||||
|
if (coAuthor.text !== undefined && coAuthor.email !== undefined) {
|
||||||
|
markup += coAuthor.text + " -- " + coAuthor.email;
|
||||||
|
}else if (coAuthor.email !== undefined) {
|
||||||
|
markup += coAuthor.text;
|
||||||
|
}
|
||||||
|
return markup;
|
||||||
|
},
|
||||||
|
ajax: {
|
||||||
|
url: "/panel/personal_conference/desktop/conference_pages/new.json",
|
||||||
|
dataType: 'json',
|
||||||
|
quietMillis: 100,
|
||||||
|
tokenSeparators: [","],
|
||||||
|
data: function (search, page) {
|
||||||
|
return {q: search};
|
||||||
|
},
|
||||||
|
results: function (data, page) {
|
||||||
|
return {results: data.results};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#writing_conference_author_tokens").select2("container").find("ul.select2-choices").sortable({
|
||||||
|
containment: 'parent',
|
||||||
|
start: function() { $("#writing_conference_author_tokens").select2("onSortStart"); },
|
||||||
|
update: function() { $("#writing_conference_author_tokens").select2("onSortEnd"); }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
bindHandlers();
|
||||||
|
uploadFiles();
|
||||||
|
tokesplits();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.initializeConferencePapers.conference = function(){ // to open add pages in conference papers page
|
||||||
|
var bindHandlers = function(){ // to bind handlers for add page
|
||||||
|
o.simple_drop_down();
|
||||||
|
}
|
||||||
|
bindHandlers();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.initializeConferencePapers.coAuthorformCallback = function(data){
|
||||||
|
if(data.success){
|
||||||
|
o.notify(data.msg,"success");
|
||||||
|
o.sub_menu_item($("div[content-type=menu] a").eq(3));
|
||||||
|
}else{
|
||||||
|
o.notify(data.msg,"alert");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.initializeConferencePapers.coauthor = function(){ // to open add pages in coauthor page
|
||||||
|
var bindHandlers = function(){ // to bind handlers for add page
|
||||||
|
o.simple_drop_down();
|
||||||
}
|
}
|
||||||
this.initializeConferencePapers.coauthor = function(){ // to open add pages in coauthor page
|
|
||||||
var bindHandlers = function(){ // to bind handlers for add page
|
|
||||||
o.simple_drop_down();
|
|
||||||
}
|
|
||||||
bindHandlers();
|
bindHandlers();
|
||||||
}
|
}
|
||||||
this.initializeConferencePapers.coauthorRelationForm = function(data){
|
this.initializeConferencePapers.coauthorRelationForm = function(data){
|
||||||
if(data.success){
|
if(data.success){
|
||||||
o.notify(data.msg,"success");
|
o.notify(data.msg,"success");
|
||||||
$("#co_author_relation_table").html(data.newvalue);
|
$("#co_author_relation_table").html(data.newvalue);
|
||||||
}else{
|
}else{
|
||||||
o.notify(data.msg,"alert");
|
o.notify(data.msg,"alert");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.initializeConferencePapers.coauthorRelationEditForm = function(data){
|
this.initializeConferencePapers.coauthorRelationEditForm = function(data){
|
||||||
if(data.success){
|
if(data.success){
|
||||||
o.notify(data.msg,"success");
|
o.notify(data.msg,"success");
|
||||||
$("#co_author_relation_table").html(data.newvalue);
|
$("#co_author_relation_table").html(data.newvalue);
|
||||||
}else{
|
}else{
|
||||||
o.notify(data.msg,"alert");
|
o.notify(data.msg,"alert");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.initializeConferencePapers.allnone = function(d,o){
|
this.initializeConferencePapers.allnone = function(d,o){
|
||||||
switch(o.attr("href")){
|
switch(o.attr("href")){
|
||||||
case "all":
|
case "all":
|
||||||
$("div.overview a.icon-check-empty").removeClass("icon-check-empty").addClass("icon-check");
|
$("div.overview a.icon-check-empty").removeClass("icon-check-empty").addClass("icon-check");
|
||||||
break;
|
break;
|
||||||
case "none":
|
case "none":
|
||||||
$("div.overview a.icon-check").removeClass("icon-check").addClass("icon-check-empty");
|
$("div.overview a.icon-check").removeClass("icon-check").addClass("icon-check-empty");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -32,19 +32,19 @@ class Panel::PersonalConference::Desktop::ConferencePagesController < Applicatio
|
||||||
WritingConference.where(create_user_id: current_user.id).map{|j|j.conference_title}.uniq
|
WritingConference.where(create_user_id: current_user.id).map{|j|j.conference_title}.uniq
|
||||||
|
|
||||||
if (not params[:q].nil?) and (current_user.name.include?params[:q])
|
if (not params[:q].nil?) and (current_user.name.include?params[:q])
|
||||||
@user = [{ :id => 0, :name => current_user.name}] # self account name
|
@user = [{ :id => 0, :text => current_user.name, :email => current_user.email}] # self account name
|
||||||
else
|
else
|
||||||
@user = []
|
@user = []
|
||||||
end
|
end
|
||||||
|
|
||||||
@co_authors = ConferenceCoAuthor.where(name_id: current_user.id, :co_author => /#{params[:q]}/)
|
@co_authors = ConferenceCoAuthor.where(name_id: current_user.id, :co_author => /#{params[:q]}/)
|
||||||
@co_authors = [{ :id => params[:q], :name => params[:q] }] + # search string
|
@co_authors = [{ :id => params[:q], :text => params[:q], :email => "#{t("add")}#{t("author")}" }] + # search string
|
||||||
@user + # self account name
|
@user + # self account name
|
||||||
@co_authors.map{|m| { :id => m.id, :name => m.co_author } } # match pattern
|
@co_authors.map{|m| { :id => m.id, :text => m.co_author, :email => m.email } } # match pattern
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html { render :layout => false}
|
format.html { render :layout => false}
|
||||||
format.json { render :json => @co_authors.to_json }
|
format.json { render :json => {:results => @co_authors}.to_json }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -83,12 +83,13 @@ module Panel::PersonalConference::Desktop::ConferencePagesHelper
|
||||||
def generate_authors_name ids
|
def generate_authors_name ids
|
||||||
author_name = ids.map{|m|
|
author_name = ids.map{|m|
|
||||||
if m == "0"
|
if m == "0"
|
||||||
{:id => 0, :name => current_user.name}
|
#{:id => 0, :text => current_user.name, :email => current_user.email }
|
||||||
|
{:id => 0, :text => current_user.name }
|
||||||
else
|
else
|
||||||
{:id => m, :name => ConferenceCoAuthor.find(m).co_author}
|
#{:id => m, :text => ConferenceCoAuthor.find(m).co_author, :email => ConferenceCoAuthor.find(m).email}
|
||||||
|
{:id => m, :text => ConferenceCoAuthor.find(m).co_author}
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
author_name.to_json
|
author_name.to_json
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -49,7 +49,7 @@ class WritingConference
|
||||||
def author_tokens=(ids)
|
def author_tokens=(ids)
|
||||||
authors_ids = ids.split(",").map{|id|
|
authors_ids = ids.split(",").map{|id|
|
||||||
begin
|
begin
|
||||||
ConferenceCoAuthor.find(m).id
|
ConferenceCoAuthor.find(id).id
|
||||||
rescue
|
rescue
|
||||||
if id != "0"
|
if id != "0"
|
||||||
new_co_author = ConferenceCoAuthor.new(:co_author => id, :name_id => create_user_id)
|
new_co_author = ConferenceCoAuthor.new(:co_author => id, :name_id => create_user_id)
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
<div class="toolbar hh1">
|
<div class="toolbar hh1">
|
||||||
<div class="fn_g hp">
|
<div class="fn_g hp">
|
||||||
<%= f.submit t("save"), name: "commit", value: "Save", class: "fn_btn ini_input hp hh1 thmc2 thmtxt" %>
|
<%= f.submit t("save"), name: "commit", class: "fn_btn ini_input hp hh1 thmc2 thmtxt" %>
|
||||||
<!-- class: bt-cancle can't be remove -->
|
|
||||||
<% if not @writing_conference.new_record? %>
|
<% if not @writing_conference.new_record? %>
|
||||||
<%= submit_tag t("cancel"), :type => "button", "ajax-remote" => "get", :href => panel_personal_conference_desktop_conference_pages_path, class: "bt-cancel ini_input hp hh1 thmadm thmtxt" %>
|
<%= submit_tag t("cancel"), :type => "button", "ajax-remote" => "get", :href => panel_personal_conference_desktop_conference_pages_path, class: "ini_input hp hh1 thmadm thmtxt" %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<div class="hh1 hp sdm">
|
<div class="hh1 hp sdm">
|
||||||
|
@ -26,8 +25,7 @@
|
||||||
<div class="scrollbar sb_h vp">
|
<div class="scrollbar sb_h vp">
|
||||||
<div class="track">
|
<div class="track">
|
||||||
<div class="thumb thmc2">
|
<div class="thumb thmc2">
|
||||||
<div class="end">
|
<div class="end"></div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -100,14 +98,12 @@
|
||||||
<li class="s_grid_row">
|
<li class="s_grid_row">
|
||||||
<%= label_tag("", t("personal_conference.url"), class: "s_grid_2 s_grid") %><%= f.text_field :url, size: "20", placeholder: "www.sample.com", class: "s_grid_4 s_grid"%>
|
<%= label_tag("", t("personal_conference.url"), class: "s_grid_2 s_grid") %><%= f.text_field :url, size: "20", placeholder: "www.sample.com", class: "s_grid_4 s_grid"%>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div column="true">
|
<div column="true">
|
||||||
<div class="s_form">
|
<div class="s_form">
|
||||||
<ul>
|
<ul>
|
||||||
<li class="s_grid_row">
|
<li class="s_grid_row">
|
||||||
<%= f.label :author_tokens, t("personal_conference.authors") %><br />
|
|
||||||
<%= f.text_area :author_tokens,
|
<%= f.text_area :author_tokens,
|
||||||
class: "s_grid_6 s_grid",
|
class: "s_grid_6 s_grid",
|
||||||
size: "20x2",
|
size: "20x2",
|
||||||
|
@ -209,25 +205,6 @@
|
||||||
<!-- </div>
|
<!-- </div>
|
||||||
</div> -->
|
</div> -->
|
||||||
|
|
||||||
<%= stylesheet_link_tag "token-input-facebook" %>
|
|
||||||
<%= javascript_include_tag :defaults, "jquery.tokeninput" %>
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
|
||||||
$(document).ready(function(){
|
|
||||||
$(function() {
|
|
||||||
$("#writing_conference_author_tokens").tokenInput("/panel/personal_conference/desktop/conference_pages/new.json", {
|
|
||||||
crossDomain: false,
|
|
||||||
prePopulate: $("#writing_conference_author_tokens").data("pre"),
|
|
||||||
theme: "facebook",
|
|
||||||
hintText: "<%=t("hintText")%>",
|
|
||||||
noResultsText: "<%=t("noResultsText")%>",
|
|
||||||
searchingText: "<%=t("searchingText")%>"
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
orbitDesktop.prototype.initializeJournalPapers.conference_title_autocomplete_list = <%= @conference_candidate.to_json.html_safe %>;
|
orbitDesktop.prototype.initializeJournalPapers.conference_title_autocomplete_list = <%= @conference_candidate.to_json.html_safe %>;
|
||||||
// orbitDesktop.prototype.initializeJournalPapers.coauthor_autocomplete_list = <%= @co_author_candidate.to_json.html_safe %>;
|
// orbitDesktop.prototype.initializeJournalPapers.coauthor_autocomplete_list = <%= @co_author_candidate.to_json.html_safe %>;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<%= form_for @writing_conference, html: { multipart: true, "form-type"=>"ajax_form", "callback-method"=>"coAuthorformCallback"}, url: panel_personal_conference_desktop_conference_page_path(@writing_conference) do |f| %>
|
<%= form_for @writing_conference, html: { multipart: true, "form-type"=>"ajax_form", "callback-method"=>"formCallback"}, url: panel_personal_conference_desktop_conference_page_path(@writing_conference) do |f| %>
|
||||||
<%= render partial: 'form', locals: {:f => f} %>
|
<%= render partial: 'form', locals: {:f => f} %>
|
||||||
<%end%>
|
<%end%>
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<%= form_for @writing_conference, html: { multipart: true, "form-type"=>"ajax_form", "callback-method"=>"coAuthorformCallback"}, url: panel_personal_conference_desktop_conference_pages_path do |f| %>
|
<%= form_for @writing_conference, html: { multipart: true, "form-type"=>"ajax_form", "callback-method"=>"formCallback"}, url: panel_personal_conference_desktop_conference_pages_path do |f| %>
|
||||||
<%= render partial: 'form', locals: {:f => f} %>
|
<%= render partial: 'form', locals: {:f => f} %>
|
||||||
<%end%>
|
<%end%>
|
||||||
|
|
||||||
|
|
|
@ -26,24 +26,24 @@ class Panel::PersonalJournal::Desktop::JournalPagesController < ApplicationContr
|
||||||
@level_types = JournalLevelType.all
|
@level_types = JournalLevelType.all
|
||||||
@author_types = JournalAuthorType.all
|
@author_types = JournalAuthorType.all
|
||||||
@paper_types= JournalPaperType.all
|
@paper_types= JournalPaperType.all
|
||||||
#@journal_co_author_candidate =
|
|
||||||
# JournalCoAuthor.where(name_id: current_user.id).map{|c|c.co_author}
|
|
||||||
@journal_candidate =
|
@journal_candidate =
|
||||||
WritingJournal.where(create_user_id: current_user.id).map{|j|j.journal_title}.uniq
|
WritingJournal.where(create_user_id: current_user.id).map{|j|j.journal_title}.uniq
|
||||||
|
|
||||||
if (not params[:q].nil?) and (current_user.name.include?params[:q])
|
if (not params[:q].nil?) and (current_user.name.include?params[:q])
|
||||||
@user = [{ :id => 0, :name => current_user.name}] # self account name
|
@user = [{ :id => 0, :text => current_user.name, :email => current_user.email}] # self account name
|
||||||
else
|
else
|
||||||
@user = []
|
@user = []
|
||||||
end
|
end
|
||||||
|
|
||||||
@co_authors = JournalCoAuthor.where(name_id: current_user.id, :co_author => /#{params[:q]}/)
|
@co_authors = JournalCoAuthor.where(name_id: current_user.id, :co_author => /#{params[:q]}/)
|
||||||
@co_authors = [{ :id => params[:q], :name => params[:q] }] + # search string
|
@co_authors = [{ :id => params[:q], :text => params[:q], :email => "#{t("add")}#{t("author")}" }] + # search string
|
||||||
@user + # self account name
|
@user + # self account name
|
||||||
@co_authors.map{|m| { :id => m.id, :name => m.co_author } } # match pattern
|
@co_authors.map{|m| { :id => m.id, :text => m.co_author, :email => m.email } } # match pattern
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html { render :layout => false}
|
format.html { render :layout => false}
|
||||||
format.json { render :json => @co_authors.to_json }
|
format.json { render :json => {:results => @co_authors}.to_json }
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -84,9 +84,11 @@ module Panel::PersonalJournal::Desktop::JournalPagesHelper
|
||||||
def generate_authors_name ids
|
def generate_authors_name ids
|
||||||
author_name = ids.map{|m|
|
author_name = ids.map{|m|
|
||||||
if m == "0"
|
if m == "0"
|
||||||
|
#{:id => 0, :text => current_user.name, :email => current_user.email }
|
||||||
{:id => 0, :name => current_user.name}
|
{:id => 0, :name => current_user.name}
|
||||||
else
|
else
|
||||||
{:id => m, :name => ConferenceCoAuthor.find(m).co_author}
|
#{:id => m, :text => JournalCoAuthor.find(m).co_author, :email => JournalCoAuthor.find(m).email}
|
||||||
|
{:id => m, :name => JournalCoAuthor.find(m).co_author}
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ class WritingJournal
|
||||||
def author_tokens=(ids)
|
def author_tokens=(ids)
|
||||||
authors_ids = ids.split(",").map{|id|
|
authors_ids = ids.split(",").map{|id|
|
||||||
begin
|
begin
|
||||||
JournalCoAuthor.find(m).id
|
JournalCoAuthor.find(id).id
|
||||||
rescue
|
rescue
|
||||||
if id != "0"
|
if id != "0"
|
||||||
new_co_author = JournalCoAuthor.new(:co_author => id, :name_id => create_user_id)
|
new_co_author = JournalCoAuthor.new(:co_author => id, :name_id => create_user_id)
|
||||||
|
|
|
@ -99,7 +99,6 @@
|
||||||
<div class="s_form">
|
<div class="s_form">
|
||||||
<ul>
|
<ul>
|
||||||
<li class="s_grid_row">
|
<li class="s_grid_row">
|
||||||
<%= f.label :author_tokens, t("personal_journal.authors") %><br />
|
|
||||||
<%= f.text_area :author_tokens,
|
<%= f.text_area :author_tokens,
|
||||||
class: "s_grid_6 s_grid",
|
class: "s_grid_6 s_grid",
|
||||||
size: "20x2",
|
size: "20x2",
|
||||||
|
@ -230,19 +229,6 @@
|
||||||
<!-- </div>
|
<!-- </div>
|
||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
<script>
|
|
||||||
$(document).ready(function(){
|
|
||||||
$("#writing_conference_author_tokens").tokenInput("/panel/personal_conference/desktop/conference_pages/new.json", {
|
|
||||||
crossDomain: false,
|
|
||||||
prePopulate: $("#writing_conference_author_tokens").data("pre"),
|
|
||||||
theme: "facebook",
|
|
||||||
hintText: "<%=t("hintText")%>",
|
|
||||||
noResultsText: "<%=t("noResultsText")%>",
|
|
||||||
searchingText: "<%=t("searchingText")%>"
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
orbitDesktop.prototype.initializeJournalPapers.journal_title_autocomplete_list = <%= @journal_candidate.to_json.html_safe %>;
|
orbitDesktop.prototype.initializeJournalPapers.journal_title_autocomplete_list = <%= @journal_candidate.to_json.html_safe %>;
|
||||||
// orbitDesktop.prototype.initializeJournalPapers.coauthor_autocomplete_list = <%= @co_author_candidate.to_json.html_safe %>;
|
// orbitDesktop.prototype.initializeJournalPapers.coauthor_autocomplete_list = <%= @co_author_candidate.to_json.html_safe %>;
|
||||||
|
|
Loading…
Reference in New Issue