Mercurial > hg > soundsoftware-site
annotate vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb @ 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 |
rev | line source |
---|---|
luis@385 | 1 # vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb |
luis@385 | 2 |
luis@328 | 3 class PublicationsController < ApplicationController |
luis@328 | 4 |
luis@385 | 5 # parse string with bibtex authors |
luis@385 | 6 # return an ordered array |
luis@385 | 7 def parse_authors |
luis@385 | 8 |
luis@385 | 9 end |
luis@385 | 10 |
luis@385 | 11 def parse_bibtex_file |
luis@385 | 12 |
luis@385 | 13 end |
luis@385 | 14 |
luis@384 | 15 def parse_bibtex_text |
luis@384 | 16 bibtex_entry = params[:bibtex_entry] |
luis@384 | 17 |
luis@385 | 18 if bibtex_entry |
luis@385 | 19 bib = BibTeX.parse bibtex_entry |
luis@385 | 20 |
luis@385 | 21 # parses the bibtex entries |
luis@385 | 22 bib.data.map do |d| |
luis@385 | 23 result = '' |
luis@385 | 24 if d.class == BibTeX::Entry |
luis@385 | 25 # d.replace!(bib.strings) |
luis@385 | 26 result = [d.author, '. ', d.title].join |
luis@385 | 27 end |
luis@384 | 28 |
luis@385 | 29 logger.error result |
luis@384 | 30 end |
luis@384 | 31 end |
luis@384 | 32 end |
luis@384 | 33 |
luis@385 | 34 def new |
luis@385 | 35 session[:publication_params] ||= {} |
luis@385 | 36 @publication = Publication.new |
luis@384 | 37 |
luis@384 | 38 if request.post? |
luis@384 | 39 parse_bibtex_text |
luis@384 | 40 @publication = Publication.new(params[:publication]) |
luis@384 | 41 |
luis@384 | 42 if @publication.save |
luis@384 | 43 logger.error "GRAVOU XXXdsfgXXX" |
luis@384 | 44 else |
luis@384 | 45 logger.error "nao gravou" |
luis@384 | 46 end |
luis@384 | 47 |
luis@376 | 48 end |
luis@384 | 49 |
luis@328 | 50 end |
luis@328 | 51 |
luis@328 | 52 def create |
luis@384 | 53 |
luis@376 | 54 logger.error "AAAA create" |
luis@384 | 55 |
luis@334 | 56 @publication.save |
luis@329 | 57 end |
luis@329 | 58 |
luis@329 | 59 def index |
luis@329 | 60 @publications = Publication.find(:all) |
luis@328 | 61 end |
luis@328 | 62 |
luis@328 | 63 def edit |
luis@384 | 64 logger.error "AAAA edit" |
luis@376 | 65 |
luis@328 | 66 end |
luis@328 | 67 |
luis@328 | 68 def update |
luis@384 | 69 |
luis@384 | 70 logger.error "AAAA update" |
luis@376 | 71 |
luis@376 | 72 |
luis@328 | 73 end |
luis@329 | 74 |
luis@329 | 75 def show |
luis@329 | 76 @publication = Publication.find(params[id]) |
luis@329 | 77 @authors = @publication.authors |
luis@329 | 78 end |
luis@329 | 79 |
luis@329 | 80 |
luis@328 | 81 end |