changeset 385:a6f8c0584a92 feature_36

using new bibtex parsing plugin; implementing multipage create bibtex form
author luisf <luis.figueira@eecs.qmul.ac.uk>
date Tue, 05 Apr 2011 18:31:02 +0100
parents 4be6b16bc6f9
children 8ed0a0a268e0
files vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb vendor/plugins/redmine_bibliography/app/helpers/publications_helper.rb vendor/plugins/redmine_bibliography/app/models/publication.rb vendor/plugins/redmine_bibliography/app/views/publications/_new_bibtex_step.html.erb vendor/plugins/redmine_bibliography/app/views/publications/_review_bibtex_step.html.erb vendor/plugins/redmine_bibliography/app/views/publications/new.html.erb
diffstat 5 files changed, 61 insertions(+), 35 deletions(-) [+]
line wrap: on
line diff
--- a/vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb	Mon Apr 04 17:20:17 2011 +0100
+++ b/vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb	Tue Apr 05 18:31:02 2011 +0100
@@ -1,33 +1,39 @@
+# vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb
+
 class PublicationsController < ApplicationController
 
+  # parse string with bibtex authors
+  # return an ordered array
+  def parse_authors
+    
+  end
+
+  def parse_bibtex_file
+  
+  end
+
   def parse_bibtex_text
-
-    logger.error "BBBBBBBB"
-
     bibtex_entry = params[:bibtex_entry]
 
+    if bibtex_entry
+      bib = BibTeX.parse bibtex_entry
+      
+      # parses the bibtex entries
+      bib.data.map do |d|
+        result = ''
+        if d.class == BibTeX::Entry
+          #    d.replace!(bib.strings)
+          result = [d.author, '. ', d.title].join
+        end
 
-
-
-    #    logger.error bibtex_entry
-
-    if bibtex_entry
-      Bibtex::Parser.parse_string(bibtex_entry).map do |entry|
-        logger.error entry[:title]
-        logger.error entry[:year]
-        logger.error entry.type  
+        logger.error result
       end
     end
-
-    logger.error "FIM"
-
   end 
 
-  def new
-
-    logger.error "AAAAAA"
-
-    logger.error request.request_method
+  def new 
+    session[:publication_params] ||= {}
+    @publication = Publication.new
 
     if request.post?
       parse_bibtex_text
--- a/vendor/plugins/redmine_bibliography/app/helpers/publications_helper.rb	Mon Apr 04 17:20:17 2011 +0100
+++ b/vendor/plugins/redmine_bibliography/app/helpers/publications_helper.rb	Tue Apr 05 18:31:02 2011 +0100
@@ -1,6 +1,7 @@
-require 'rubygems'
+# require 'rubygems'
 require 'bibtex'
 
+
 module PublicationsHelper
 
 end
--- a/vendor/plugins/redmine_bibliography/app/models/publication.rb	Mon Apr 04 17:20:17 2011 +0100
+++ b/vendor/plugins/redmine_bibliography/app/models/publication.rb	Tue Apr 05 18:31:02 2011 +0100
@@ -1,7 +1,20 @@
+# vendor/plugins/redmine_bibliography/app/models/publication.rb
+
 class Publication < ActiveRecord::Base
   has_many :authorships
   has_many :authors, :through => :authorships
 
   validates_presence_of :title
+  
+  attr_writer :current_step
+
+  def current_step
+    @current_step || steps.first
+  end
+  
+  def steps
+    %w[new review]
+  end
+
 
 end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/plugins/redmine_bibliography/app/views/publications/_new_bibtex_step.html.erb	Tue Apr 05 18:31:02 2011 +0100
@@ -0,0 +1,16 @@
+
+  <h1>New Bibtex</h1>
+  <p>
+    <%= f.label :title %>
+    <%= f.text_field :title %>
+  </p>
+
+
+  <p>
+  
+    <%=label_tag :bibtex_entry %>
+    <%=text_area_tag :bibtex_entry%>
+  
+  </p>
+
+
--- a/vendor/plugins/redmine_bibliography/app/views/publications/new.html.erb	Mon Apr 04 17:20:17 2011 +0100
+++ b/vendor/plugins/redmine_bibliography/app/views/publications/new.html.erb	Tue Apr 05 18:31:02 2011 +0100
@@ -1,22 +1,12 @@
 <h1>New Publication</h1>
 
-<% form_for(:publication) do |f| %>
+
+<% form_for @publication do |f| %>
   <% f.error_messages %>
-  
-  <p>
-    <%= f.label :title %>
-    <%= f.text_field :title %>
-  </p>
 
+  <% render :partial  => "#{@publication.current_step}_bibtex_step", :f => f %>
 
-  <p>
-  
-    <%=label_tag :bibtex_entry %>
-    <%=text_area_tag :bibtex_entry%>
-  
-  </p>
-
-<%= submit_tag l(:button_submit) %>
+  <%= submit_tag l(:button_submit) %>
 
 <% end %>