# HG changeset patch
# User Chris Cannam
# Date 1352819314 0
# Node ID ff783f2cc500b2f26530e1583cabee99e6af9825
# Parent e3f78fa30a3603000c432aa7938de8c88db355bc# Parent f6c71883b99595328acf3db8e1c116cb38d3a71c
Merge from branch cannam
diff -r e3f78fa30a36 -r ff783f2cc500 .hgignore
--- a/.hgignore Mon Nov 12 15:17:47 2012 +0000
+++ b/.hgignore Tue Nov 13 15:08:34 2012 +0000
@@ -35,3 +35,4 @@
Gemfile.lock
Gemfile.local
+re:^config\.ru$
diff -r e3f78fa30a36 -r ff783f2cc500 app/controllers/projects_controller.rb
--- a/app/controllers/projects_controller.rb Mon Nov 12 15:17:47 2012 +0000
+++ b/app/controllers/projects_controller.rb Tue Nov 13 15:08:34 2012 +0000
@@ -111,8 +111,7 @@
end
# end of code to be removed
-
- if validate_parent_id && @project.save
+ if validate_is_public_key && validate_parent_id && @project.save
@project.set_allowed_parent!(params[:project]['parent_id']) if params[:project].has_key?('parent_id')
# Add current user as a project member if he is not admin
unless User.current.admin?
@@ -300,6 +299,19 @@
render_404
end
+ def validate_is_public_key
+ # Although is_public isn't mandatory in the project model (it gets
+ # defaulted), it must be present in params -- it can be true or
+ # false, but it must be there. This permits us to make forms in
+ # which the user _has_ to select public or private (rather than
+ # defaulting it) if we want to
+ if params.nil? || params[:project].nil? || !params[:project].has_key?(:is_public)
+ @project.errors.add :is_public, :public_or_private
+ return false
+ end
+ true
+ end
+
# Validates parent_id param according to user's permissions
# TODO: move it to Project model in a validation that depends on User.current
def validate_parent_id
diff -r e3f78fa30a36 -r ff783f2cc500 app/views/activities/_busy.html.erb
--- a/app/views/activities/_busy.html.erb Mon Nov 12 15:17:47 2012 +0000
+++ b/app/views/activities/_busy.html.erb Tue Nov 13 15:08:34 2012 +0000
@@ -1,6 +1,6 @@
<% events = @events_by_day %>
<% if (events.nil?)
- activity = Redmine::Activity::Fetcher.new(User.current)
+ activity = Redmine::Activity::Fetcher.new(User.anonymous)
events = activity.events(Date.today - 14, Date.today + 1)
end
%>
diff -r e3f78fa30a36 -r ff783f2cc500 app/views/activities/_busy_institution.html.erb
--- a/app/views/activities/_busy_institution.html.erb Mon Nov 12 15:17:47 2012 +0000
+++ b/app/views/activities/_busy_institution.html.erb Tue Nov 13 15:08:34 2012 +0000
@@ -1,7 +1,8 @@
<% events = @events_by_day %>
<% if (events.nil?)
- activity = Redmine::Activity::Fetcher.new(User.current)
- events = activity.events(Date.today - 14, Date.today + 1)
+ activity = Redmine::Activity::Fetcher.new(User.anonymous)
+ days = Setting.activity_days_default.to_i
+ events = activity.events(Date.today - days, Date.today + 1)
end
%>
@@ -24,3 +25,4 @@
<% end %>
<% end %>
+
diff -r e3f78fa30a36 -r ff783f2cc500 app/views/projects/_form.html.erb
--- a/app/views/projects/_form.html.erb Mon Nov 12 15:17:47 2012 +0000
+++ b/app/views/projects/_form.html.erb Tue Nov 13 15:08:34 2012 +0000
@@ -21,9 +21,20 @@
<%= l(:text_project_homepage_info) %>
-<%= f.check_box :is_public %>
+
+<%= label(:project, :is_public_1, l(:field_public_or_private) + content_tag("span", " *", :class => "required")) %>
+<%
+ # if the project hasn't been created fully yet, then we don't
+ # want to set either public or private (make the user decide)
+ initialised = !@project.id.nil?
+%>
+ <%= f.radio_button :is_public, 1, :checked => (initialised && @project.is_public?) %>
+ <%= l(:text_project_public_info) %>
- <%= l(:text_project_visibility_info) %>
+ <%= f.radio_button :is_public, 0, :checked => (initialised && !@project.is_public?) %>
+ <%= l(:text_project_private_info) %>
+
+ <%= l(:text_project_visibility_info) %>
<%= wikitoolbar_for 'project_description' %>
diff -r e3f78fa30a36 -r ff783f2cc500 app/views/projects/_members_box.html.erb
--- a/app/views/projects/_members_box.html.erb Mon Nov 12 15:17:47 2012 +0000
+++ b/app/views/projects/_members_box.html.erb Tue Nov 13 15:08:34 2012 +0000
@@ -1,8 +1,8 @@
<% if @users_by_role.any? %>
-
+
<%=l(:label_member_plural)%>
<% @users_by_role.keys.sort.each do |role| %>
<%=h role %>: <%= @users_by_role[role].sort.collect{|u| link_to_user u}.join(", ") %>
<% end %>
-
+
<% end %>
diff -r e3f78fa30a36 -r ff783f2cc500 app/views/projects/explore.html.erb
--- a/app/views/projects/explore.html.erb Mon Nov 12 15:17:47 2012 +0000
+++ b/app/views/projects/explore.html.erb Tue Nov 13 15:08:34 2012 +0000
@@ -1,23 +1,29 @@
+<% cache(:action => 'explore', :action_suffix => 'tags', :expires_in => 1.hour) do %>
<%= l(:label_explore_projects) %>
-
<%=l(:label_project_tags_all)%>
<%= render :partial => 'projects/tagcloud' %>
+<% end %>
+
+ <% cache(:action => 'explore', :action_suffix => 'busy_institutions', :expires_in => 1.hour) do %>
<%=l(:label_institutions_busy)%>
<%= render :partial => 'activities/busy_institution' %>
+ <% end %>
<%=l(:label_project_latest)%>
<%= render :partial => 'projects/latest' %>
+ <% cache(:action => 'explore', :action_suffix => 'busy_projects', :expires_in => 1.hour) do %>
<%=l(:label_projects_busy)%>
<%= render :partial => 'activities/busy' %>
+ <% end %>
diff -r e3f78fa30a36 -r ff783f2cc500 app/views/projects/new.html.erb
--- a/app/views/projects/new.html.erb Mon Nov 12 15:17:47 2012 +0000
+++ b/app/views/projects/new.html.erb Tue Nov 13 15:08:34 2012 +0000
@@ -3,6 +3,5 @@
<% labelled_tabular_form_for @project do |f| %>
<%= render :partial => 'form', :locals => { :f => f } %>
<%= submit_tag l(:button_create) %>
-<%= submit_tag l(:button_create_and_continue), :name => 'continue' %>
<%= javascript_tag "Form.Element.focus('project_name');" %>
<% end %>
diff -r e3f78fa30a36 -r ff783f2cc500 config/locales/en.yml
--- a/config/locales/en.yml Mon Nov 12 15:17:47 2012 +0000
+++ b/config/locales/en.yml Tue Nov 13 15:08:34 2012 +0000
@@ -130,6 +130,7 @@
circular_dependency: "This relation would create a circular dependency"
cant_link_an_issue_with_a_descendant: "An issue cannot be linked to one of its subtasks"
must_accept_terms_and_conditions: "You must accept the Terms and Conditions"
+ public_or_private: "You must select either public or private"
actionview_instancetag_blank_option: Please select
@@ -328,6 +329,7 @@
field_root_directory: Root directory
field_cvsroot: CVSROOT
field_cvs_module: Module
+ field_public_or_private: "Public or Private?"
setting_external_repository: "Select this if the project's main repository is hosted somewhere else"
setting_external_repository_url: "The URL of the existing external repository. Must be publicly accessible without a password"
@@ -966,7 +968,9 @@
text_caracters_minimum: "Must be at least %{count} characters long."
text_length_between: "Length between %{min} and %{max} characters."
text_project_name_info: "This will be the name of your project as it appears throughout this site.
You can change it at any time, in the project's settings."
- text_project_visibility_info: "If your project is not public, it will be visible only to you and to users that you have added as project members.
You can change this later if you wish."
+ text_project_public_info: "Public: visible to anybody browsing the site."
+ text_project_private_info: "Private: visible only to you, and to users you have added as project members."
+ text_project_visibility_info: "You can change whether your project is public or private later if you wish."
text_user_ssamr_description_info: 'Please describe your current research or development interests.
This information will be used at registration to determine that you are a real person – so please be descriptive, or your application may be delayed or rejected.
After registration, the description is publicly visible in your profile and you can edit it at any time.'
text_issue_parent_issue_info: 'If this is a subtask, please insert its parent task number or write the main task name.'
diff -r e3f78fa30a36 -r ff783f2cc500 public/stylesheets/application.css
--- a/public/stylesheets/application.css Mon Nov 12 15:17:47 2012 +0000
+++ b/public/stylesheets/application.css Tue Nov 13 15:08:34 2012 +0000
@@ -256,17 +256,17 @@
.highlight.token-3 { background-color: #aaf;}
.box{
-padding:6px;
-margin-bottom: 10px;
-background-color:#f6f6f6;
-color:#505050;
-line-height:1.5em;
-border: 1px solid #e4e4e4;
+ padding:6px;
+ margin-bottom: 10px;
+ background-color:#f6f6f6;
+ color:#505050;
+ line-height:1.5em;
+ border: 1px solid #e4e4e4;
}
.box h4 {
-margin-top: 0;
-padding-top: 0;
+ margin-top: 0;
+ padding-top: 0;
}
div.square {
@@ -344,6 +344,25 @@
div#members dt .email { color: #777; font-size: 80%; }
div#members dd .roles { font-style: italic; }
+div#memberbox h3 {
+ background: url(../images/group.png) no-repeat 0% 50%;
+ padding-left: 20px;
+}
+div#memberbox p {
+ padding-left: 20px;
+ margin-left: 0;
+}
+
+div.issues ul {
+ padding-left: 20px;
+ margin-left: 0;
+ list-style-type: none;
+}
+div.issues p {
+ padding-left: 20px;
+ margin-left: 0;
+}
+
.projects .latest .title { margin-right: 0.5em; }
.tipoftheday .tip { margin-left: 2em; margin-top: 0.5em; }
diff -r e3f78fa30a36 -r ff783f2cc500 public/themes/soundsoftware/stylesheets/application.css
--- a/public/themes/soundsoftware/stylesheets/application.css Mon Nov 12 15:17:47 2012 +0000
+++ b/public/themes/soundsoftware/stylesheets/application.css Tue Nov 13 15:08:34 2012 +0000
@@ -147,7 +147,7 @@
*/
/* h4 { border-bottom: dotted 1px #c0c0c0; } */
-.wiki p { margin-left: 3em; margin-right: 3em; }
+.wiki p, .wiki li { margin-left: 30px; margin-right: 3em; }
div.issue { background: #fdfaf0; border: 1px solid #a9b680; border-left: 4px solid #a9b680; }
diff -r e3f78fa30a36 -r ff783f2cc500 vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb
--- a/vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb Mon Nov 12 15:17:47 2012 +0000
+++ b/vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb Tue Nov 13 15:08:34 2012 +0000
@@ -3,18 +3,18 @@
class PublicationsController < ApplicationController
unloadable
-
+
model_object Publication
before_filter :find_model_object, :except => [:new, :create, :index, :get_bibtex_required_fields, :autocomplete_for_project, :add_author, :sort_author_order, :autocomplete_for_author, :get_user_info ]
before_filter :find_project_by_project_id, :authorize, :only => [ :edit, :new, :update, :create ]
-
+
def new
find_project_by_project_id
@publication = Publication.new
-
+
# we'll always want a new publication to have its bibtex entry
@publication.build_bibtex_entry
-
+
# and at least one author
# @publication.authorships.build.build_author
@author_options = [["#{User.current.name} (@#{User.current.mail.partition('@')[2]})", "#{User.current.class.to_s}_#{User.current.id.to_s}"]]
@@ -29,10 +29,10 @@
@publication = Publication.new(params[:publication])
@publication.projects << @project unless @project.nil?
-
+
if @publication.save
@publication.notify_authors_publication_added(@project)
-
+
flash[:notice] = "Successfully created publication."
redirect_to :action => :show, :id => @publication, :project_id => @project
else
@@ -52,7 +52,7 @@
def new_from_bibfile
@publication.current_step = session[:publication_step]
-
+
# contents of the paste text area
bibtex_entry = params[:bibtex_entry]
@@ -78,7 +78,7 @@
end
}
}
-
+
end
end
@@ -94,13 +94,13 @@
def edit
find_project_by_project_id unless params[:project_id].nil?
-
+
@edit_view = true;
@publication = Publication.find(params[:id])
@selected_bibtex_entry_type_id = @publication.bibtex_entry.entry_type
@author_options = []
-
+
@bibtype_fields = BibtexEntryType.fields(@selected_bibtex_entry_type_id)
end
@@ -124,9 +124,10 @@
end
end
+
def show
find_project_by_project_id unless params[:project_id].nil?
-
+
if @publication.nil?
@publications = Publication.all
render "index", :alert => 'The publication was not found!'
@@ -191,16 +192,17 @@
authors.each_with_index.map do |authorname, idx|
author = Author.new(:name => authorname)
if author.save!
+ # todo: catch the errors...
puts "SAVED"
else
puts "NOT SAVED"
end
author.authorships.create!(
- :publication => @publication,
- :institution => institution,
- :email => email,
- :order => idx)
+ :publication => @publication,
+ :institution => institution,
+ :email => email,
+ :order => idx)
end
end
@@ -211,13 +213,13 @@
def import
@publication = Publication.new
-
-
+
+
end
-
+
def autocomplete_for_project
@publication = Publication.find(params[:id])
-
+
@projects = Project.active.like(params[:q]).find(:all, :limit => 100) - @publication.projects
logger.debug "Query for \"#{params[:q]}\" returned \"#{@projects.size}\" results"
render :layout => false
@@ -225,22 +227,22 @@
def autocomplete_for_author
@results = []
-
+
object_id = params[:object_id]
@object_name = "publications[authorships_attributes][#{object_id}][search_results]"
-
+
# cc 20110909 -- revert to like instead of like_unique -- see #289
authorships_list = Authorship.like(params[:q]).find(:all, :limit => 100)
users_list = User.active.like(params[:q]).find(:all, :limit => 100)
logger.debug "Query for \"#{params[:q]}\" returned \"#{authorships_list.size}\" authorships and \"#{users_list.size}\" users"
-
+
@results = users_list
# TODO: can be optimized…
authorships_list.each do |authorship|
flag = true
-
+
users_list.each do |user|
if authorship.name == user.name && authorship.email == user.mail && authorship.institution == user.institution
Rails.logger.debug { "Rejecting Authorship #{authorship.id}" }
@@ -254,8 +256,7 @@
render :layout => false
end
-
-
+
def get_user_info
object_id = params[:object_id]
value = params[:value]
@@ -266,9 +267,9 @@
name_field = "publication_authorships_attributes_#{object_id}_name_on_paper".to_sym
email_field = "publication_authorships_attributes_#{object_id}_email".to_sym
institution_field = "publication_authorships_attributes_#{object_id}_institution".to_sym
-
+
yes_radio = "publication_authorships_attributes_#{object_id}_identify_author_yes".to_sym
-
+
respond_to do |format|
format.js {
render(:update) {|page|
@@ -296,7 +297,7 @@
@projects = Project.find(params[:publication][:project_ids])
@publication.projects << @projects
@project = Project.find(params[:project_id])
-
+
# TODO luisf should also respond to HTML???
respond_to do |format|
format.html { redirect_to :back }
@@ -308,8 +309,8 @@
}
end
end
-
-
+
+
def remove_project
@project = Project.find(params[:project_id])
proj = Project.find(params[:remove_project_id])
@@ -321,19 +322,19 @@
else
logger.error { "Cannot remove project from publication list" }
end
-
+
logger.error { "CURRENT project name#{proj.name} and wanna delete #{@project.name}" }
-
+
render(:update) {|page|
page.replace_html "list_projects", :partial => 'list_projects', :id => @publication
}
end
-
+
def destroy
find_project_by_project_id
-
+
@publication.destroy
-
+
flash[:notice] = "Successfully deleted Publication."
redirect_to :controller => :publications, :action => 'index', :project_id => @project
end
diff -r e3f78fa30a36 -r ff783f2cc500 vendor/plugins/redmine_bibliography/app/helpers/publications_helper.rb
--- a/vendor/plugins/redmine_bibliography/app/helpers/publications_helper.rb Mon Nov 12 15:17:47 2012 +0000
+++ b/vendor/plugins/redmine_bibliography/app/helpers/publications_helper.rb Tue Nov 13 15:08:34 2012 +0000
@@ -89,7 +89,6 @@
s
end
-
def render_projects_list(publication, show_delete_icon)
s= ""
@@ -99,6 +98,7 @@
if show_delete_icon
if User.current.allowed_to?(:edit_publication, @project)
if @project == proj
+ # todo: move this message to yml file
confirm_msg = 'Are you sure you want to remove the current project from this publication\'s projects list?'
else
confirm_msg = false
@@ -114,6 +114,17 @@
s
end
+ def show_cite_proc_entry(publication)
+ # code that should be moved either to the model or to the controller?
+
+ publication.print_entry(:ieee)
+ end
+
+ def print_bibtex_entry(publication)
+ publication.print_entry(:bibtex)
+ end
+
+
def show_bibtex_fields(bibtex_entry)
s = ""
bibtex_entry.attributes.keys.sort.each do |key|
diff -r e3f78fa30a36 -r ff783f2cc500 vendor/plugins/redmine_bibliography/app/models/author.rb
--- a/vendor/plugins/redmine_bibliography/app/models/author.rb Mon Nov 12 15:17:47 2012 +0000
+++ b/vendor/plugins/redmine_bibliography/app/models/author.rb Tue Nov 13 15:08:34 2012 +0000
@@ -1,4 +1,6 @@
class Author < ActiveRecord::Base
+ unloadable
+
has_many :authorships, :dependent => :destroy
has_many :publications, :through => :authorships
diff -r e3f78fa30a36 -r ff783f2cc500 vendor/plugins/redmine_bibliography/app/models/bibtex_entry_type.rb
--- a/vendor/plugins/redmine_bibliography/app/models/bibtex_entry_type.rb Mon Nov 12 15:17:47 2012 +0000
+++ b/vendor/plugins/redmine_bibliography/app/models/bibtex_entry_type.rb Tue Nov 13 15:08:34 2012 +0000
@@ -1,4 +1,5 @@
class BibtexEntryType < ActiveRecord::Base
+ unloadable
@@fields = Hash['article', ['journal', 'year', 'volume', 'number', 'pages', 'month', 'note' ],
'book' , [ 'editor', 'publisher', 'volume', 'series', 'address', 'edition', 'month', 'year', 'note' ],
diff -r e3f78fa30a36 -r ff783f2cc500 vendor/plugins/redmine_bibliography/app/models/publication.rb
--- a/vendor/plugins/redmine_bibliography/app/models/publication.rb Mon Nov 12 15:17:47 2012 +0000
+++ b/vendor/plugins/redmine_bibliography/app/models/publication.rb Tue Nov 13 15:08:34 2012 +0000
@@ -57,7 +57,35 @@
end
end
+ def print_bibtex_author_names
+ # this authors are correctly sorted because the authorships model
+ # already outputs the author names ASC by auth_order
+ self.authorships.map{|a| a.name_on_paper}.join(' and ')
+ end
-
-
+ def print_entry(style)
+ bib = BibTeX::Entry.new
+
+ bib.author = self.print_bibtex_author_names
+ bib.title = self.title
+
+ self.bibtex_entry.attributes.keys.sort.each do |key|
+ value = self.bibtex_entry.attributes[key].to_s
+ next if key == 'id' or key == 'publication_id' or value == ""
+
+ if key == "entry_type"
+ bib.type = BibtexEntryType.find(self.bibtex_entry.entry_type).name
+ else
+ bib[key.to_sym] = value
+ end
+ end
+
+ if style == :ieee
+ CiteProc.process bib.to_citeproc, :style => :ieee, :format => :html
+ else
+ bibtex = bib.to_s :include => :meta_content
+ bibtex.strip!
+ logger.error { bibtex }
+ end
+ end
end
diff -r e3f78fa30a36 -r ff783f2cc500 vendor/plugins/redmine_bibliography/app/views/projects/_bibliography_box.html.erb
--- a/vendor/plugins/redmine_bibliography/app/views/projects/_bibliography_box.html.erb Mon Nov 12 15:17:47 2012 +0000
+++ b/vendor/plugins/redmine_bibliography/app/views/projects/_bibliography_box.html.erb Tue Nov 13 15:08:34 2012 +0000
@@ -1,24 +1,29 @@
+<% content_for :header_tags do %>
+ <%= stylesheet_link_tag 'bibliography', :plugin => 'redmine_bibliography' %>
+ <%= javascript_include_tag 'bibtex', :plugin => 'redmine_bibliography' -%>
+<% end %>
+
<% if @project.publications.any? %>
<%= stylesheet_link_tag 'bibliography', :plugin => 'redmine_bibliography' %>
<%=l(:label_related_publication_plural)%>
-
- <% @project.publications.each do |publication| %>
- -
-
- <%= publication.authorships.map { |a| h a.name_on_paper }.join(', ') %><% if !publication.authorships.empty? %>.<% end %>
-
- <%= link_to publication.title, :controller => 'publications', :action => 'show', :id => publication, :project_id => @project %>
- <% if publication.bibtex_entry.year.to_s != "" %>
-
- (<%= publication.bibtex_entry.year %>)
-
- <% end %>
-
+
+ <% @project.publications.each do |publication| %>
+ -
+ <%= publication.print_entry(:ieee) -%>
+
+ -
+ <%= link_to("[More Details]", {:controller => :publications, :action => :show, :id => publication.id, :project_id => @project.id}) -%>
+
+ <%= link_to_function "[BIBTEX]", onclick="toggleBibtex(this)" -%>
+
+ -
+
+
<% end -%>
-
+
-<% end %>
+<% end -%>
diff -r e3f78fa30a36 -r ff783f2cc500 vendor/plugins/redmine_bibliography/app/views/publications/show.html.erb
--- a/vendor/plugins/redmine_bibliography/app/views/publications/show.html.erb Mon Nov 12 15:17:47 2012 +0000
+++ b/vendor/plugins/redmine_bibliography/app/views/publications/show.html.erb Tue Nov 13 15:08:34 2012 +0000
@@ -1,11 +1,14 @@
-<%= stylesheet_link_tag 'bibliography', :plugin => 'redmine_bibliography' %>
-
<%=l(:label_publication_show)%>
-
- <%= h @publication.title %>
-
+
Publication Info
+
<%= show_cite_proc_entry(@publication)%>
+
+
BIBTEX Format
+
<%=h print_bibtex_entry(@publication) %>
+
+
+
<%= l(:authors) %>
@@ -18,6 +21,7 @@
<%- end -%>
<%- end -%>
+
<%- if User.current.allowed_to?(:edit_publication, @project) && @publication.authorships.length > 1 -%>
<%= sortable_element("authorships", :url => { :controller => :publications, :action => :sort_author_order }, :handle => "handle") %>
<%- end -%>
@@ -26,7 +30,6 @@
<%= show_bibtex_fields(@publication.bibtex_entry) %>
<%- end -%>
-
<% unless @publication.external_url.blank? %>
<%= l(:field_external_url) %>
@@ -46,7 +49,7 @@
<% projects = Project.active.find(:all, :limit => 100, :order => 'name ASC') - @publication.projects %>
-
+
<% content_for :sidebar do %>
<%=l(:label_publication_project_index)%>
diff -r e3f78fa30a36 -r ff783f2cc500 vendor/plugins/redmine_bibliography/assets/javascripts/bibtex.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/plugins/redmine_bibliography/assets/javascripts/bibtex.js Tue Nov 13 15:08:34 2012 +0000
@@ -0,0 +1,6 @@
+function toggleBibtex(el) {
+ var dd = Element.up(el).next('dd')
+
+ dd.toggleClassName('collapsed');
+ Effect.toggle(dd, 'slide', {duration:0.2});
+}
\ No newline at end of file
diff -r e3f78fa30a36 -r ff783f2cc500 vendor/plugins/redmine_bibliography/assets/stylesheets/bibliography.css
--- a/vendor/plugins/redmine_bibliography/assets/stylesheets/bibliography.css Mon Nov 12 15:17:47 2012 +0000
+++ b/vendor/plugins/redmine_bibliography/assets/stylesheets/bibliography.css Tue Nov 13 15:08:34 2012 +0000
@@ -32,15 +32,32 @@
min-width: 150px;
}
-div#bibliography dl { margin-left: 2em; }
-div#bibliography .box dl { margin-left: 0; }
-div#bibliography dt { margin-bottom: 0px; padding-left: 20px }
-div#bibliography .box dt { margin-bottom: 0px; padding-left: 10px }
-div#bibliography dd { margin-bottom: 1em; padding-left: 18px; font-size: 0.9em; }
-div#bibliography .box dd { margin-bottom: 0.6em; padding-left: 0; }
+
+div#bibliography dd { margin-bottom: 1em; font-size: 0.9em; }
+
div#bibliography dd .authors { font-style: italic; }
-div#bibliography dt .title { font-style: italic; }
div#bibliography dd span.authors { color: #808080; }
div#bibliography dd span.year { padding-left: 0.6em; }
-div#bibliography h3 { background: url(../../../images/table_multiple.png) no-repeat 0% 50%; padding-left: 20px; }
+div#bibliography .box dt {
+ background: url(../../../images/document.png) no-repeat 0% 4px;
+ padding-left: 20px;
+ margin-left: 0;
+}
+div#bibliography .box dd {
+ padding-left: 20px;
+ margin-left: 0;
+}
+
+div#bibliography h3 {
+ background: url(../../../images/table_multiple.png) no-repeat 0% 50%;
+ padding-left: 20px;
+}
+
+div#bibliography textarea {
+ width: 90%;
+ height: 200px;
+ font: normal 8px;
+ padding: 2px 10px;
+ border: solid 1px #ddd;
+}
diff -r e3f78fa30a36 -r ff783f2cc500 vendor/plugins/redmine_bibliography/init.rb
--- a/vendor/plugins/redmine_bibliography/init.rb Mon Nov 12 15:17:47 2012 +0000
+++ b/vendor/plugins/redmine_bibliography/init.rb Tue Nov 13 15:08:34 2012 +0000
@@ -1,6 +1,10 @@
require 'redmine'
require 'dispatcher'
+require 'bibtex'
+require 'citeproc'
+
+
RAILS_DEFAULT_LOGGER.info 'Starting Bibliography Plugin for RedMine'
# Patches to the Redmine core.
diff -r e3f78fa30a36 -r ff783f2cc500 vendor/plugins/redmine_tags/app/controllers/tags_controller.rb
--- a/vendor/plugins/redmine_tags/app/controllers/tags_controller.rb Mon Nov 12 15:17:47 2012 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-class TagsController < ApplicationController
-
- def index
- respond_to do |format|
- format.html {
- render :template => 'tags/index.html.erb', :layout => !request.xhr?
- }
- format.api {
- }
- format.atom {
- }
- end
- end
-
-end
diff -r e3f78fa30a36 -r ff783f2cc500 vendor/plugins/redmine_tags/app/views/tags/index.html.erb
--- a/vendor/plugins/redmine_tags/app/views/tags/index.html.erb Mon Nov 12 15:17:47 2012 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<% content_for :header_tags do %>
- <%= auto_discovery_link_tag(:atom, {:action => 'index', :format => 'atom', :key => User.current.rss_key}) %>
- <%= stylesheet_link_tag 'redmine_tags', :plugin => 'redmine_tags' %>
-<% end %>
-
-
-
-
- <%= l("label_project_tags_all") %>
-
-
-<%= render_tags_list(Project.available_tags, :style => :cloud) %>
-