diff vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb @ 445:77f88379115a feature_36

Merged my forks. More work in the controllers and views of the publications model.
author luisf <luis.figueira@eecs.qmul.ac.uk>
date Wed, 08 Jun 2011 11:35:04 +0100
parents b461f84ed41a 948400933de8
children 995d4c99843d
line wrap: on
line diff
--- a/vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb	Sat Jun 04 18:08:01 2011 +0100
+++ b/vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb	Wed Jun 08 11:35:04 2011 +0100
@@ -6,7 +6,10 @@
 
   def new
     @publication = Publication.new      
-
+    
+    # we'll always want a new publication to have its bibtex entry
+    @publication.build_bibtex_entry
+    
     # the step we're at in the form
     @publication.current_step = session[:publication_step]
 
@@ -16,6 +19,20 @@
 
   def create
     @publication = Publication.new(params[:publication])
+
+    if @publication.save
+      flash[:notice] = "Successfully created publication."
+      redirect_to @publication
+    else
+      render :action => 'new'
+    end
+  end
+
+  def index
+    @publications = Publication.find(:all)
+  end
+
+  def new_from_bibfile
     @publication.current_step = session[:publication_step]
     
     # contents of the paste text area
@@ -36,37 +53,28 @@
     end
 
     session[:publication_step] = @publication.current_step
-
-    if @publication.new_record?
-      render "new"
-    else
-      session[:publication_step] = session[:publication_params] = nil
-      flash[:notice] = "New publication saved!"
-      redirect_to @publication
-    end
-  end
-
-  def index
-    @publications = Publication.find(:all)
-  end
-
-  def edit
-    
-    @publication = Publication.find(params[:id])
     
   end
 
-  def update
+
+  def edit    
     @publication = Publication.find(params[:id])
+  end
+
+  def update    
+    @publication = Publication.find(params[:id])
+        
     if @publication.update_attributes(params[:publication])
       flash[:notice] = "Successfully updated Publication."
-      redirect_to @publication
     else
-      render :action => 'edit'
+      flash[:notice] = "Could not Update Publication."
     end
+    
   end
 
   def show
+    logger.error "-------> No Show"
+    
     @publication = Publication.find(params[:id])
 
     if @publication.nil?