class Document < ActiveRecord::Base attr_accessible :name, :parent, :text, :typ, :parent_id, :parent_type belongs_to :parent, :polymorphic => true validate :name, :length=>{minimum:3} validate :text, :presence=>true validate :typ, :presence=>true validate :parent, :presence=>true has_paper_trail TYPS = { 1=>"fet_docs", 10=>"protocol", 11=> "agenda"} has_many :attachments, :as=>:parent def long_name if self.parent.class=="Meeting" ""+self.parent.text+ ""+ self.name else "" + self.parent.title + ":"+ self.name end end def self.new_divid_for(parent) "document_new_parent_" + parent.class.to_s + "_" + parent.id.to_s end def divid "document_"+self.id.to_s end def self.ether EtherpadLite.connect('http://www.fet.at/etherpad', File.new('/srv/etherpad/etherpad-lite/APIKEY.txt')) end def create_pdf require "open3" #url=blank_document_url({id: self.id, host: host, port: port}) # url=Rails.application.routes.url_helpers.blank_document_url({id: self.id, host: host, port: port}) file = Tempfile.new(['document', '.pdf']) bin=Rails.application.config.pdf_bin sin,sout,serr=Open3.popen3("#{bin} --header-html \"file://#{Rails.root}/app/views/documents/header.html\" --footer-html \"file://#{Rails.root}/app/views/documents/footer.html\" --replace title1 \"#{self.name}\" - #{file.path}") #Rails.logger.puts("#{bin} --header-html \"file://#{Rails.root}/app/views/documents/header.html\" --footer-html \"file://#{Rails.root}/app/views/documents/footer.html\" --replace title1 \"#{self.name}\" \"#{url}\" \"#{file.path}\" ") # `#{bin} --header-html "file://#{Rails.root}/app/views/documents/header.html" --footer-html "file://#{Rails.root}/app/views/documents/footer.html" --replace title1 "#{self.name}" #{url} #{file.path} ` sin.puts("