myexperiment-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[myexperiment-hackers] [2835] branches/datasets: Merged trunk 2798:2834


From: noreply
Subject: [myexperiment-hackers] [2835] branches/datasets: Merged trunk 2798:2834 into datasets branch
Date: Tue, 22 Nov 2011 10:47:20 -0500 (EST)

Revision
2835
Author
fbacall
Date
2011-11-22 10:47:19 -0500 (Tue, 22 Nov 2011)

Log Message

Merged trunk 2798:2834 into datasets branch

Modified Paths

Diff

Modified: branches/datasets/app/controllers/feedback_controller.rb (2834 => 2835)


--- branches/datasets/app/controllers/feedback_controller.rb	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/app/controllers/feedback_controller.rb	2011-11-22 15:47:19 UTC (rev 2835)
@@ -21,9 +21,9 @@
         format.html { redirect_to "/feedback" }
       end
     else
-      if captcha_valid?(params[:feedback][:captcha_id], params[:feedback][:captcha_validation])
+      if params[:feedback] && captcha_valid?(params[:feedback][:captcha_id], params[:feedback][:captcha_validation])
     
-        from_user = params[:from] + ' (' + (!params[:email].blank? ? params[:email] : 'no email') + ')';
+        from_user = ( params[:from].blank? ? 'no from': params[:from] ) + ' (' + (!params[:email].blank? ? params[:email] : 'no email') + ')';
         Mailer.deliver_feedback(from_user, params[:subject], params[:content])
     
         respond_to do |format|
@@ -33,7 +33,7 @@
       else
         respond_to do |format|
           flash[:error] = 'Your feedback has not been submitted. CAPTCHA was not entered correctly.'
-          format.html { redirect_to "/feedback?from="+params[:from]+"&email="+params[:email]+"&subject="+params[:subject]+"&content="+params[:content] }
+          format.html { redirect_to "/feedback?from="+String(params[:from])+"&email="+String(params[:email])+"&subject="+String(params[:subject])+"&content="+String(params[:content]) }
         end
       end
     end

Modified: branches/datasets/app/controllers/jobs_controller.rb (2834 => 2835)


--- branches/datasets/app/controllers/jobs_controller.rb	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/app/controllers/jobs_controller.rb	2011-11-22 15:47:19 UTC (rev 2835)
@@ -143,7 +143,7 @@
     respond_to do |format|
       if success and @job.save
         flash[:notice] = "Job successfully created."
-        format.html { redirect_to job_url(@job.experiment, @job) }
+        format.html { redirect_to experiment_job_url(@job.experiment, @job) }
       else
         flash[:error] = err_msg if err_msg
         format.html { render :action ="" "new" }
@@ -161,7 +161,7 @@
     respond_to do |format|
       if @job.update_attributes(params[:job])
         flash[:notice] = "Job was successfully updated."
-        format.html { redirect_to job_url(@experiment, @job) }
+        format.html { redirect_to experiment_job_url(@experiment, @job) }
       else
         format.html { render :action ="" "edit" }
       end
@@ -172,10 +172,10 @@
     respond_to do |format|
       if @job.destroy
         flash[:notice] = "Job \"address@hidden" has been deleted"
-        format.html { redirect_to jobs_url(@experiment) }
+        format.html { redirect_to experiment_jobs_url(@experiment) }
       else
         flash[:error] = "Failed to delete Job"
-        format.html { redirect_to job_url(@experiment, @job) }
+        format.html { redirect_to experiment_job_url(@experiment, @job) }
       end
     end
   end
@@ -218,7 +218,7 @@
         flash[:error] = "An error has occurred whilst saving the inputs data"
       end
       
-      format.html { redirect_to job_url(@experiment, @job) }
+      format.html { redirect_to experiment_job_url(@experiment, @job) }
     end
   end
   
@@ -250,10 +250,10 @@
     respond_to do |format|
       if success
         flash[:notice] = "Job has been successfully submitted. You can monitor progress in the 'Status' section."
-        format.html { redirect_to job_url(@experiment, @job) }
+        format.html { redirect_to experiment_job_url(@experiment, @job) }
       else
         flash[:error] = "Failed to submit job. Errors: " + errors_text
-        format.html { redirect_to job_url(@experiment, @job) }
+        format.html { redirect_to experiment_job_url(@experiment, @job) }
       end
     end
   end
@@ -279,7 +279,7 @@
       else
         respond_to do |format|
           flash[:error] = "Outputs XML unavailable - Job not completed successfully yet."
-          format.html { redirect_to job_url(@experiment, @job) }
+          format.html { redirect_to experiment_job_url(@experiment, @job) }
         end
       end
   end
@@ -303,7 +303,7 @@
     respond_to do |format|
       if child_job.save
         flash[:notice] = "Job successfully created, based on Job address@hidden'."
-        format.html { redirect_to job_url(@experiment, child_job) }
+        format.html { redirect_to experiment_job_url(@experiment, child_job) }
       else
         format.html { render :action ="" "new" }
       end
@@ -386,7 +386,7 @@
     (err = Job.new.errors).add(attr, message)
     
     respond_to do |format|
-      format.html { redirect_to jobs_url(params[:experiment_id]) }
+      format.html { redirect_to experiment_jobs_url(params[:experiment_id]) }
     end
   end
 end

Modified: branches/datasets/app/controllers/messages_controller.rb (2834 => 2835)


--- branches/datasets/app/controllers/messages_controller.rb	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/app/controllers/messages_controller.rb	2011-11-22 15:47:19 UTC (rev 2835)
@@ -135,34 +135,39 @@
     # check if sending is allowed and increment the message counter
     sending_allowed = ActivityLimit.check_limit(current_user, "internal_message")[0]
     
-    if sending_allowed
-      @message = Message.new(params[:message])
-      @message.from ||= current_user.id
-      
-      # set initial datetimes
-      @message.read_at = nil
-      
-      # test for spoofing of "from" field
-      unless @message.from.to_i == current_user.id.to_i
-        errors = true
-        @message.errors.add :from, "must be logged on"
-      end
-      
-      # test for existance of reply_id
-      if @message.reply_id
-        begin
-          reply = Message.find(@message.reply_id) 
+    if params[:message] && params[:message].kind_of?(Hash)
+      if sending_allowed
+        @message = Message.new(params[:message])
+        @message.from ||= current_user.id
         
-          # test that user is replying to a message that was actually received by them
-          unless reply.to.to_i == current_user.id.to_i
+        # set initial datetimes
+        @message.read_at = nil
+        
+        # test for spoofing of "from" field
+        unless @message.from.to_i == current_user.id.to_i
+          errors = true
+          @message.errors.add :from, "must be logged on"
+        end
+        
+        # test for existance of reply_id
+        if @message.reply_id
+          begin
+            reply = Message.find(@message.reply_id) 
+          
+            # test that user is replying to a message that was actually received by them
+            unless reply.to.to_i == current_user.id.to_i
+              errors = true
+              @message.errors.add :reply_id, "not addressed to sender"
+            end
+          rescue ActiveRecord::RecordNotFound
             errors = true
-            @message.errors.add :reply_id, "not addressed to sender"
+            @message.errors.add :reply_id, "not found"
           end
-        rescue ActiveRecord::RecordNotFound
-          errors = true
-          @message.errors.add :reply_id, "not found"
         end
       end
+    else
+      @message = Message.new
+      errors = true
     end
     
     respond_to do |format|

Modified: branches/datasets/app/models/pack.rb (2834 => 2835)


--- branches/datasets/app/models/pack.rb	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/app/models/pack.rb	2011-11-22 15:47:19 UTC (rev 2835)
@@ -940,7 +940,6 @@
     # penalty for no description
     boost -= 20 if description.nil? || description.empty?
     
-    puts "id = #{id}, score = #{boost}"
     boost
   end
 

Modified: branches/datasets/app/views/experiments/_table.rhtml (2834 => 2835)


--- branches/datasets/app/views/experiments/_table.rhtml	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/app/views/experiments/_table.rhtml	2011-11-22 15:47:19 UTC (rev 2835)
@@ -36,7 +36,7 @@
 						<% if Authorization.is_authorized?('edit', nil, experiment, current_user) %>
 							<%= icon('edit', edit_experiment_path(experiment), nil, nil, 'Edit') %>
 						<% end %>
-						<%= icon "job", new_job_path(experiment), nil, nil, "New Job" %>
+						<%= icon "job", new_experiment_job_path(experiment), nil, nil, "New Job" %>
 		    	</td>
 		  	</tr>
 		<% end %>

Modified: branches/datasets/app/views/experiments/show.rhtml (2834 => 2835)


--- branches/datasets/app/views/experiments/show.rhtml	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/app/views/experiments/show.rhtml	2011-11-22 15:47:19 UTC (rev 2835)
@@ -55,7 +55,7 @@
   <div class="tabTitle">Jobs</div>
   <div class="tabContent">
 		<ul class="sectionIcons">
-		  <li><%= icon('new', new_job_path(@experiment), nil, nil, 'New Job') %></li>
+		  <li><%= icon('new', new_experiment_job_path(@experiment), nil, nil, 'New Job') %></li>
 		</ul>
 		
 		<% unless @experiment.jobs.empty? -%>

Modified: branches/datasets/app/views/jobs/_breadcrumbs.rhtml (2834 => 2835)


--- branches/datasets/app/views/jobs/_breadcrumbs.rhtml	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/app/views/jobs/_breadcrumbs.rhtml	2011-11-22 15:47:19 UTC (rev 2835)
@@ -6,7 +6,7 @@
 	<li><%= link_to "#{h(@experiment.title)}", experiment_path(@experiment) -%></li>
 	<li><b>&#187;</b></li>
 	
-	<li><%= link_to 'Jobs', jobs_path(@experiment) -%></li>
+	<li><%= link_to 'Jobs', experiment_jobs_path(@experiment) -%></li>
 	
 	<% if ["show", "new", "edit"].include? controller.action_name.to_s -%>
 	  <li><b>&#187;</b></li>
@@ -16,7 +16,7 @@
 	  <% when "new" %>
 	    <li>New Job</li>
 	  <% when "edit" %>
-			<li><%= link_to "#{h(@job.title)}", job_path(@experiment, @job) -%></li>
+			<li><%= link_to "#{h(@job.title)}", experiment_job_path(@experiment, @job) -%></li>
 			<li><b>&#187;</b></li>
     	<li>Manage</li>
 	  <% else %>

Modified: branches/datasets/app/views/jobs/_outputs.rhtml (2834 => 2835)


--- branches/datasets/app/views/jobs/_outputs.rhtml	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/app/views/jobs/_outputs.rhtml	2011-11-22 15:47:19 UTC (rev 2835)
@@ -2,7 +2,7 @@
 	<% outputs = job.outputs_data -%>
 	
 	<% if false -%>
-		<p><%= icon "package", outputs_package_job_path(experiment, job), nil, nil, "Download as compressed package" -%></p>
+		<p><%= icon "package", outputs_package_experiment_job_path(experiment, job), nil, nil, "Download as compressed package" -%></p>
 	<% end -%>
 	
 	<p class="note_text" style="text-align: center;">
@@ -30,7 +30,7 @@
 		<h4>Download Data</h4>
 		
 		<p>
-			<%= icon "xml", outputs_xml_job_path(experiment, job), nil, nil, "Download as XML" -%>
+			<%= icon "xml", outputs_xml_experiment_job_path(experiment, job), nil, nil, "Download as XML" -%>
 		</p>
 		<p style="font-size: 93%; color: #666666; margin-left: 2em;">
 			You can open this XML file in the Taverna Data Viewer

Modified: branches/datasets/app/views/jobs/_status_info.rhtml (2834 => 2835)


--- branches/datasets/app/views/jobs/_status_info.rhtml	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/app/views/jobs/_status_info.rhtml	2011-11-22 15:47:19 UTC (rev 2835)
@@ -18,7 +18,7 @@
 		</p>
 					
 		<p>
-			<% form_tag submit_job_job_path(experiment, job) do -%>
+			<% form_tag submit_job_experiment_job_path(experiment, job) do -%>
 				<center><%= submit_tag "Submit Job", :disable_with => "Submitting..." -%></center>
 			<% end -%>
 		</p>
@@ -109,9 +109,9 @@
 		<br/><br/>
 		
 		<ul class="sectionIcons">
-		  <li><%= icon('rerun', rerun_job_path(experiment, job), nil, { :confirm => 'Note: this will create a new Job with the settings and input data copied from this Job. Continue?', :method => :post }, 'Rerun Job') %></li>
+		  <li><%= icon('rerun', rerun_experiment_job_path(experiment, job), nil, { :confirm => 'Note: this will create a new Job with the settings and input data copied from this Job. Continue?', :method => :post }, 'Rerun Job') %></li>
 		</ul>
 		
 	<% end -%>
 
-<% end -%>
\ No newline at end of file
+<% end -%>

Modified: branches/datasets/app/views/jobs/_table.rhtml (2834 => 2835)


--- branches/datasets/app/views/jobs/_table.rhtml	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/app/views/jobs/_table.rhtml	2011-11-22 15:47:19 UTC (rev 2835)
@@ -11,7 +11,7 @@
 			    <td class="mid" style="text-align: left;">
 			    	<p class="title">
 							<%= icon "job", nil, nil, nil, '' %>
-							<%= link_to h(job.title), job_url(job.experiment, job) %>
+							<%= link_to h(job.title), experiment_job_url(job.experiment, job) %>
 						</p>
 						
 						<p style="font-size: 85%; color: #666666;">
@@ -43,10 +43,10 @@
 						
 					</td>
 			    <td class="actions"  style="width: 80px;">
-		      	<%= icon "show", job_url(job.experiment, job), nil, nil, "View" %>
+		      	<%= icon "show", experiment_job_url(job.experiment, job), nil, nil, "View" %>
 						<% if false -%>
 						<% if Authorization.is_authorized?('edit', nil, job, current_user) -%>
-							<%= icon('edit', edit_job_path(job.experiment, job), nil, nil, 'Edit') %>
+							<%= icon('edit', edit_experiment_job_path(job.experiment, job), nil, nil, 'Edit') %>
 						<% end -%>
 						<% end -%>
 		    	</td>

Modified: branches/datasets/app/views/jobs/new.rhtml (2834 => 2835)


--- branches/datasets/app/views/jobs/new.rhtml	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/app/views/jobs/new.rhtml	2011-11-22 15:47:19 UTC (rev 2835)
@@ -6,7 +6,7 @@
 	<%= error_messages_for :job %>
 </center>
 
-<% form_for :job, :url ="" (@job.experiment ? jobs_path(@job.experiment) : { :controller => 'jobs', :action ="" 'create' }) do |form| -%>
+<% form_for :job, :url ="" (@job.experiment ? experiment_jobs_path(@job.experiment) : { :controller => 'jobs', :action ="" 'create' }) do |form| -%>
 
 	<p class="sub-heading">
 		<% if @job.experiment -%>
@@ -86,4 +86,4 @@
 		</div>
 	</center>
 
-<% end -%>
\ No newline at end of file
+<% end -%>

Modified: branches/datasets/app/views/jobs/show.rhtml (2834 => 2835)


--- branches/datasets/app/views/jobs/show.rhtml	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/app/views/jobs/show.rhtml	2011-11-22 15:47:19 UTC (rev 2835)
@@ -3,7 +3,7 @@
 <% t "#{h @job.title}" -%>
 
 <ul class="sectionIcons">
-  <li><%= icon('rerun', rerun_job_path(@experiment, @job), nil, { :confirm => 'Note: this will create a new Job with the settings and input data copied from this Job. Continue?', :method => :post }, 'Rerun Job') %></li>
+  <li><%= icon('rerun', rerun_experiment_job_path(@experiment, @job), nil, { :confirm => 'Note: this will create a new Job with the settings and input data copied from this Job. Continue?', :method => :post }, 'Rerun Job') %></li>
 </ul>
 
 <h1>Job: <%= h @job.title %></h1>
@@ -118,7 +118,7 @@
 		<% unless @job.child_jobs.empty? -%>
 			<% @job.child_jobs.each do |j| -%>
 				<p>
-					<%= link_to h(j.title), job_url(j.experiment, j) -%>
+					<%= link_to h(j.title), experiment_job_url(j.experiment, j) -%>
 					<span style="color: #666666;">(<%= datetime j.created_at -%>)</span>
 				</p>
 			<% end -%>
@@ -147,7 +147,7 @@
 				
 				<br/>
 				
-				<% form_tag save_inputs_job_path(@experiment, @job), :multipart => true do -%>
+				<% form_tag save_inputs_experiment_job_path(@experiment, @job), :multipart => true do -%>
 					<% s_field_counter = 0 -%>
 					
 					<% inputs.each do |i| -%>
@@ -287,7 +287,7 @@
 		<ul class="sectionIcons" style="margin-top: 1.5em;">
 			<li style="margin-left: 0;">
 				<%= link_to_remote "#{refresh_image} Refresh",
-											 :url ="" refresh_status_job_url(@experiment, @job),
+											 :url ="" refresh_status_experiment_job_url(@experiment, @job),
 											 :method => :get,
 											 :update => 'status_box',
 											 :success => "new Effect.Highlight('status_box', { duration: 1.5 });",
@@ -303,7 +303,7 @@
 		<p id="refresh_timer_text" class="note_text" style="text-align: center;">
 			Note: this section will automatically refresh every 10 seconds until job completion.
 		</p>
-		<%= periodically_call_remote(:url ="" refresh_status_job_url(@experiment, @job), 
+		<%= periodically_call_remote(:url ="" refresh_status_experiment_job_url(@experiment, @job), 
 																 :frequency => '10', 
 																 :update => 'status_box', 
 																 :method => :get,
@@ -330,7 +330,7 @@
 		<ul class="sectionIcons" style="margin-top: 1.5em;">
 			<li style="margin-left: 0;">
 				<%= link_to_remote "#{refresh_image} Refresh",
-											 :url ="" refresh_outputs_job_url(@experiment, @job),
+											 :url ="" refresh_outputs_experiment_job_url(@experiment, @job),
 											 :method => :get,
 											 :update => 'outputs_box',
 											 :success => "new Effect.Highlight('outputs_box', { duration: 1.5 });",

Modified: branches/datasets/app/views/layouts/_myexperiment.rhtml (2834 => 2835)


--- branches/datasets/app/views/layouts/_myexperiment.rhtml	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/app/views/layouts/_myexperiment.rhtml	2011-11-22 15:47:19 UTC (rev 2835)
@@ -35,18 +35,20 @@
           <% else %>
             <%= link_to image_tag(Conf.site_logo), "/" %>
           <% end %>
-          <div id="site_info_links" class="links">
+          </div>
+        <div id="myexp_links">
+          <div style="text-align: left; float: left; width: 34%; padding-top: 6px;" id="site_info_links" class="links">
             <% if @content_for_site_info_links %>
               <%= yield :site_info_links %>
             <% else %>
               <%= render :partial => 'layouts/site_info_links' %>
             <% end %>
           </div>
+          <div style="text-align: right; float: right; width: 64%;" id="user_links" class="links">
+            <%= render :partial => 'layouts/user_links' %>
+          </div>
         </div>
-        <div id="user_links" class="links">
-          <%= render :partial => 'layouts/user_links' %>
-        </div>
-        <br class="clearer"/>
+        <div class="clearer">&nbsp;</div>
       </div>
       <div id="myexp_tabs">
         <%= render :partial => 'layouts/tab_bar' %>

Modified: branches/datasets/app/views/layouts/_tab_bar.rhtml (2834 => 2835)


--- branches/datasets/app/views/layouts/_tab_bar.rhtml	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/app/views/layouts/_tab_bar.rhtml	2011-11-22 15:47:19 UTC (rev 2835)
@@ -1,5 +1,7 @@
-<div class="tabnav">
+<ul class="tabnav">
   <% Conf.main_tabs.each do |tab| %>
-    <%= link_to(tab['label'], tab['link'], :class => "tab", :id => (tab['controller'] && controller.controller_name.match(tab['controller'])) ? 'selected_tabnav' : '') -%>
+    <li <%= (tab['controller'] && controller.controller_name.match(tab['controller'])) ? 'id="selected_tabnav"' : '' %>>
+      <%= link_to(tab['label'], tab['link']) -%>
+    </li>
   <% end %>
-</div>
+</ul>

Modified: branches/datasets/app/views/memberships/new.rhtml (2834 => 2835)


--- branches/datasets/app/views/memberships/new.rhtml	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/app/views/memberships/new.rhtml	2011-11-22 15:47:19 UTC (rev 2835)
@@ -18,7 +18,7 @@
         <small>(Administrator: <%= name @network.user_id -%>)</small>
       <% else -%>
         <b>Select group:</b><br/>
-        <%= select_tag "membership[network_id]", options_from_collection_for_select(Network.find(:all, :order => "title ASC", :conditions => ["new_member_policy != 'invitation_only'"]), :id.to_i, :title), :style => "width: 360px; margin-top: 0.3em; margin-bottom: 0.5em" %>
+        <%= select_tag "membership[network_id]", options_from_collection_for_select(Network.find(:all, :order => "title ASC", :conditions => ["new_member_policy != 'invitation_only'"]), 'id', 'title'), :style => "width: 360px; margin-top: 0.3em; margin-bottom: 0.5em" %>
       <% end -%>
     </div>
 

Modified: branches/datasets/app/views/networks/show.rhtml (2834 => 2835)


--- branches/datasets/app/views/networks/show.rhtml	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/app/views/networks/show.rhtml	2011-11-22 15:47:19 UTC (rev 2835)
@@ -208,7 +208,7 @@
   </div>
 </div>
 
-<% if @network.administrator?(current_user.id) %>
+<% if logged_in? && @network.administrator?(current_user.id) %>
   
   <% memberships = @network.memberships_accepted %>
   <a name="manage_memberships"></a>

Modified: branches/datasets/config/environment.rb (2834 => 2835)


--- branches/datasets/config/environment.rb	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/config/environment.rb	2011-11-22 15:47:19 UTC (rev 2835)
@@ -113,13 +113,15 @@
 load 'config/environment_private.rb' if FileTest.exist?('config/environment_private.rb')
 
 # Fix for Ruby 1.8.7 when using Rails < 2.2
-module ActionView
-  module Helpers
-    module TextHelper
-      def truncate(text, length = 30, truncate_string = "...")
-        if text.nil? then return end
-        l = length - truncate_string.chars.to_a.size
-        (text.chars.to_a.size > length ? text.chars.to_a[0...l].join + truncate_string : text).to_s
+if RUBY_VERSION == "1.8.7" && ((Rails::VERSION::MAJOR == 1) || (Rails::VERSION::MAJOR == 2 && Rails::VERSION::MINOR < 2))
+  module ActionView
+    module Helpers
+      module TextHelper
+        def truncate(text, length = 30, truncate_string = "...")
+          if text.nil? then return end
+          l = length - truncate_string.chars.to_a.size
+          (text.chars.to_a.size > length ? text.chars.to_a[0...l].join + truncate_string : text).to_s
+        end
       end
     end
   end

Modified: branches/datasets/installers/ubuntu/install.bash (2834 => 2835)


--- branches/datasets/installers/ubuntu/install.bash	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/installers/ubuntu/install.bash	2011-11-22 15:47:19 UTC (rev 2835)
@@ -11,51 +11,45 @@
 source $settings_file || { echo "Could not find settings file at $settings_file. Aborting ..."; exit 1; }
 
 echo "Preseeding debconf"
-sudo su -c "/usr/share/debconf/fix_db.pl" || { echo "Failed to run debconf fix_db script. Aborting ..."; exit 2; }
-sudo su -c "echo mysql-server-5.1 mysql-server/root_password password `echo "'"``echo ${mysql_root_password}``echo "'"` | debconf-set-selections" || { echo "Failed to set debconf option. Aborting ..."; exit 3; }
-sudo su -c "echo mysql-server-5.1 mysql-server/root_password_again password `echo "'"``echo ${mysql_root_password}``echo "'"` | debconf-set-selections" || { echo "Failed to set debconf option. Aborting ..."; exit 3; }
+sudo su -c "echo mysql-server-5.1 mysql-server/root_password password `echo "'"``echo ${mysql_root_password}``echo "'"` | debconf-set-selections" || { echo "Could not set debconf option mysql-server-5.1 mysql-server/root_password. Aborting ..."; exit 2; }
+sudo su -c "echo mysql-server-5.1 mysql-server/root_password_again password `echo "'"``echo ${mysql_root_password}``echo "'"` | debconf-set-selections" || { echo "Could not set debconf option mysql-server-5.1 mysql-server/root_password_again. Aborting ..."; exit 3; }
 
 echo "Installing required APT packages"
-sudo apt-get update || { echo "Failed to update apt-get. Aborting ..."; exit 4; }
-sudo -n apt-get install -y build-essential exim4 ruby ruby1.8-dev libzlib-ruby rdoc irb rubygems rake libapache2-mod-fcgid libfcgi-ruby1.8 libmysql-ruby gcj-4.4-jre-headless subversion libopenssl-ruby1.8 libcurl3 libcurl3-gnutls libcurl4-openssl-dev mysql-server graphicsmagick imagemagick librmagick-ruby1.8 libmagick9-dev graphviz || { echo "Failed to installing required APT packages. Aborting ..."; exit 5; }
+sudo apt-get update || { echo "Could not update apt-get. Aborting ..."; exit 4; }
+sudo -n apt-get install -y build-essential exim4 ruby ruby1.8-dev libzlib-ruby rdoc irb rubygems rake libapache2-mod-fcgid libfcgi-ruby1.8 libmysql-ruby gcj-4.4-jre-headless subversion libopenssl-ruby1.8 libcurl3 libcurl3-gnutls libcurl4-openssl-dev mysql-server graphicsmagick imagemagick librmagick-ruby1.8 libmagick9-dev graphviz mlocate || { echo "Could not install required APT packages. Aborting ..."; exit 5; }
 
 echo "Installing Rake version $rake_version and Rails version $rails_version Ruby Gems"
 sudo gem install rake $nordoc $nori --version $rake_version || { echo "Could not install Rake Ruby Gem (version $rake_version). Aborting ..."; exit 6; }
-sudo gem install rails $nordoc $nori --version $rails_version || { echo "Failed to install Rails Ruby Gem (v$rails_version) and dependencies. Aborting ..."; exit 7; }
+sudo gem install rails $nordoc $nori --version $rails_version || { echo "Could not install Rails Ruby Gem (v$rails_version) and dependencies. Aborting ..."; exit 7; }
 
 echo "Installing Ruby Gems required by myExperiment"
-sudo gem install $nordoc $nori rdoc rdoc-data  || { echo "Could not install RDoc Ruby Gems.  Aborting ..."; exit 40;}
 if [ `cat /etc/environment | grep "/var/lib/gems/1.8/bin" | wc -l` -eq 0 ]; then
-	cat /etc/environment | sed "s/\"$/:\/var\/lib\/gems\/1.8\/bin\"/" | sudo tee /etc/environment > /dev/null || { echo "Could not add Gems path to PATH.  Aborting ..."; exit 33;}
+	cat /etc/environment | sed "s/\"$/:\/var\/lib\/gems\/1.8\/bin\"/" | sudo tee /etc/environment > /dev/null || { echo "Could not add Gems path to PATH.  Aborting ..."; exit 8;}
 fi
 if [ `echo $PATH | grep "/var/lib/gems/1.8/bin" | wc -l` -eq 0 ]; then
-	DOLLAR='$'; echo -e "export PATH=${DOLLAR}PATH:/var/lib/gems/1.8/bin\nalias sudo='sudo env PATH=${DOLLAR}PATH'" >> /home/$USER/.bashrc || { echo "Could not write to /home/$USER/.bashrc.  Aborting ..."; exit 38;}
+	DOLLAR='$'; echo -e "export PATH=${DOLLAR}PATH:/var/lib/gems/1.8/bin\nalias sudo='sudo env PATH=${DOLLAR}PATH'" >> /home/$USER/.bashrc || { echo "Could not write to /home/$USER/.bashrc.  Aborting ..."; exit 9;}
 	export PATH=$PATH:/var/lib/gems/1.8/bin
 fi
-sudo env PATH=$PATH rdoc-data --install ||  { echo "Could not install rdoc-data. Aborting ..."; exit 9; }
-if [ "$nordoc" -eq 0 ]; then
-        sudo gem rdoc --all --overwrite || { echo "Could overwrite RDoc for existing Ruby Gems. Aborting ..."; exit 39; }
-fi
-sudo gem install $nordoc $nori cgi_multipart_eof_fix daemons dsl_accessor fastthread gem_plugin json mime-types mongrel mongrel_cluster needle net-sftp net-ssh openid_login_generator RedCloth ruby-yadis rubyzip solr-ruby xml-simple libxml-ruby oauth ruby-hmac openurl curb marc taverna-scufl taverna-t2flow || { echo "Failed to install all remaining generic Ruby Gems required by myExperiment. Aborting ..."; exit 8; }
-sudo gem install rmagick $nordoc $nori --version=1.15.14 || { echo "Failed to install RMagick Ruby Gem. Aborting ..."; exit 10; }
+sudo gem install $nordoc $nori cgi_multipart_eof_fix daemons dsl_accessor fastthread gem_plugin json mime-types mongrel mongrel_cluster needle net-sftp net-ssh openid_login_generator RedCloth ruby-yadis rubyzip solr-ruby xml-simple libxml-ruby oauth ruby-hmac openurl curb marc taverna-scufl taverna-t2flow || { echo "Could not install all remaining generic Ruby Gems required by myExperiment. Aborting ..."; exit 10; }
+sudo gem install rmagick $nordoc $nori --version=1.15.14 || { echo "Could not install RMagick Ruby Gem. Aborting ..."; exit 11; }
 
 echo "Making OAuth Ruby Gem compatible with Rails $version"
-tempdir=$(mktemp -d /tmp/myexp_installer.XXXXXXXXXX) || { echo "Could not create temporary file for writing patches to. Aborting ..."; exit 11; }
-cd $tempdir || { echo "Could not find temporary directory. Aborting ..."; exit 12; }
-echo "$oauth_patch" > oauth.patch || { echo "Could not write oauth patch file. Aborting ..."; exit 13; }
-echo "$net_http_patch" > net_http.patch || { echo "Could not write net/http patch file. Aborting ..."; exit 14; }
-echo "$settings_patch" > settings.patch || { echo "Could not write settings patch file. Aborting ..."; exit 15; }
-sudo updatedb || { echo "Failed to run updatedb so that OAuth Ruby Gem file that needs updating can be located. Aborting ..."; exit 16; }
+tempdir=$(mktemp -d /tmp/myexp_installer.XXXXXXXXXX) || { echo "Could not create temporary file for writing patches to. Aborting ..."; exit 12; }
+cd $tempdir || { echo "Could not find temporary directory. Aborting ..."; exit 13; }
+echo "$oauth_patch" > oauth.patch || { echo "Could not write oauth patch file. Aborting ..."; exit 14; }
+echo "$net_http_patch" > net_http.patch || { echo "Could not write net/http patch file. Aborting ..."; exit 15; }
+echo "$settings_patch" > settings.patch || { echo "Could not write settings patch file. Aborting ..."; exit 16; }
+sudo updatedb || { echo "Could not run updatedb so that OAuth Ruby Gem file that needs updating can be located. Aborting ..."; exit 17; }
 oauth_file=`locate lib/oauth/request_proxy/action_controller_request.rb`
 if [ ! -e $oauth_file ]; then 
-	echo "Could not locate OAuth Ruby Gem file that requires updating. Aborting ..."; exit 17;
+	echo "Could not locate OAuth Ruby Gem file that requires updating. Aborting ..."; exit 18;
 fi
-sudo patch $oauth_file $tempdir/oauth.patch || { echo "Could not patch OAuth Ruby Gem file: $oauth_file. Aborting ..."; exit 18; }
+sudo patch $oauth_file $tempdir/oauth.patch || { echo "Could not patch OAuth Ruby Gem file: $oauth_file. Aborting ..."; exit 19; }
 net_http_file=`locate net/http.rb`
 if [ ! -e $net_http_file ]; then
-        echo "Could not locate net/http Ruby file that requires updating. Aborting ..."; exit 19;
+        echo "Could not locate net/http Ruby file that requires updating. Aborting ..."; exit 20;
 fi
-sudo patch $net_http_file $tempdir/net_http.patch || { echo "Could not patch net/http Ruby file: $net_http_file. Aborting ..."; exit 20; }
+sudo patch $net_http_file $tempdir/net_http.patch || { echo "Could not patch net/http Ruby file: $net_http_file. Aborting ..."; exit 21; }
 
 echo "Checking out myExperiment codebase from SVN"
 cd /
@@ -65,15 +59,15 @@
 		cd $idir
 	fi
 done
-sudo chown $USER:www-data $install_dir || { echo "Could not update permissions on $install_dir. Aborting ..."; exit 21; }
-svn checkout svn://rubyforge.org/var/svn/myexperiment/trunk $install_dir || { echo "Could not checkout SVN to $install_dir. Aborting ..."; exit 22; }
-cd ${install_dir}/config/ || { echo "Could not find config directory for myExperiment. Aborting ..."; exit 23; }
+sudo chown $USER:www-data $install_dir || { echo "Could not update permissions on $install_dir. Aborting ..."; exit 22; }
+svn checkout svn://rubyforge.org/var/svn/myexperiment/trunk $install_dir || { echo "Could not checkout SVN to $install_dir. Aborting ..."; exit 23; }
+cd ${install_dir}/config/ || { echo "Could not find config directory for myExperiment. Aborting ..."; exit 24; }
 
 echo "Setting up config files for myExperiment"
-cat database.yml.pre | sed "s/username: root/username: $mysql_user_name/" | sed "s/password:/password: $mysql_user_password/" > database.yml || { echo "Could not create database.yml file with appropriate configuration settings. Aborting ..."; exit 24; }
-cp default_settings.yml settings.yml || { echo "Could not copy default_settings.yml to settings.yml ..."; exit 25; }
-patch settings.yml $tempdir/settings.patch  || { echo "Could not patch settings.yml. Aborting ..."; exit 26; }
-cp captcha.yml.pre captcha.yml || { echo "Could not create captcha.yml file.  Aborting ..."; exit 27; }
+cat database.yml.pre | sed "s/username: root/username: $mysql_user_name/" | sed "s/password:/password: $mysql_user_password/" > database.yml || { echo "Could not create database.yml file with appropriate configuration settings. Aborting ..."; exit 25; }
+cp default_settings.yml settings.yml || { echo "Could not copy default_settings.yml to settings.yml ..."; exit 26; }
+patch settings.yml $tempdir/settings.patch  || { echo "Could not patch settings.yml. Aborting ..."; exit 27; }
+cp captcha.yml.pre captcha.yml || { echo "Could not create captcha.yml file.  Aborting ..."; exit 28; }
 cd ..
 
 echo "Setting up exim4 (Email) for myExperiment"
@@ -89,18 +83,18 @@
 dc_use_split_config='false'
 dc_hide_mailname='true'
 dc_mailname_in_oh='true'
-dc_localdelivery='mail_spool'" | sudo tee /etc/exim4/update-exim4.conf.conf > /dev/null  || { echo "Could not write new exim4 config.  Aborting..."; exit 28; }
-echo "${fq_server_name}" | sudo tee /etc/mailname > /dev/null  || { echo "Could not update hostname for /etc/mailname.  Aborting..."; exit 29; }
-sudo dpkg-reconfigure -fnoninteractive exim4-config || { echo "Could not write new reconfingure exim4.  Aborting..."; exit 30; }
+dc_localdelivery='mail_spool'" | sudo tee /etc/exim4/update-exim4.conf.conf > /dev/null  || { echo "Could not write new exim4 config.  Aborting..."; exit 29; }
+echo "${fq_server_name}" | sudo tee /etc/mailname > /dev/null  || { echo "Could not update hostname for /etc/mailname.  Aborting..."; exit 30; }
+sudo dpkg-reconfigure -fnoninteractive exim4-config || { echo "Could not write new reconfingure exim4.  Aborting..."; exit 31; }
 
 echo "Setting up myExperiment databases in MySQL"
-mysql -u root -p$mysql_root_password -e "CREATE USER '$mysql_user_name'@'localhost' IDENTIFIED BY '$mysql_user_password'; CREATE DATABASE m2_development; CREATE DATABASE m2_production; CREATE DATABASE m2_test; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,INDEX,ALTER,DROP,CREATE TEMPORARY TABLES,CREATE VIEW,SHOW VIEW ON m2_development . * TO '$mysql_user_name'@'localhost';GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,INDEX,ALTER,DROP,CREATE TEMPORARY TABLES,CREATE VIEW,SHOW VIEW ON m2_production . * TO '$mysql_user_name'@'localhost';GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,INDEX,ALTER,DROP,CREATE TEMPORARY TABLES,CREATE VIEW,SHOW VIEW ON m2_test . * TO '$mysql_user_name'@'localhost';" || { echo "Could not create myExperiment databases in MySQL and set up appropriate access for the $mysql_user_name user. Aborting ..."; exit 23; }
+mysql -u root -p$mysql_root_password -e "CREATE USER '$mysql_user_name'@'localhost' IDENTIFIED BY '$mysql_user_password'; CREATE DATABASE m2_development; CREATE DATABASE m2_production; CREATE DATABASE m2_test; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,INDEX,ALTER,DROP,CREATE TEMPORARY TABLES,CREATE VIEW,SHOW VIEW ON m2_development . * TO '$mysql_user_name'@'localhost';GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,INDEX,ALTER,DROP,CREATE TEMPORARY TABLES,CREATE VIEW,SHOW VIEW ON m2_production . * TO '$mysql_user_name'@'localhost';GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,INDEX,ALTER,DROP,CREATE TEMPORARY TABLES,CREATE VIEW,SHOW VIEW ON m2_test . * TO '$mysql_user_name'@'localhost';" || { echo "Could not create myExperiment databases in MySQL and set up appropriate access for the $mysql_user_name user. Aborting ..."; exit 32; }
 
 echo "Migrating myExperiment database"
-rake db:migrate || { echo "Could not migrate myExperiment data model to a MySQL database. Aborting ..."; exit 31; }
+rake db:migrate || { echo "Could not migrate myExperiment data model to a MySQL database. Aborting ..."; exit 33; }
 
 echo "Starting Solr (search) server and indexing"
-rake solr:start || { echo "Could not start Solr server. Aborting ..."; exit 32; }
+rake solr:start || { echo "Could not start Solr server. Aborting ..."; exit 34; }
 
 echo "Starting Mongrel webserver as a daemon running myExperiment website"
 ruby script/server -d || { echo "Could not start Mongrel Webserver for myExperiment website. Aborting ..."; exit 35; }

Modified: branches/datasets/lib/rest.rb (2834 => 2835)


--- branches/datasets/lib/rest.rb	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/lib/rest.rb	2011-11-22 15:47:19 UTC (rev 2835)
@@ -186,18 +186,20 @@
           list_element_accessor = model_data['List Element Accessor'][i]
           list_element_text     = list_element_accessor ? eval("item.#{model_data['List Element Accessor'][i]}") : item
 
-          if list_element_text.instance_of?(String)
-            el = LibXML::XML::Node.new(model_data['List Element Name'][i])
+          if list_element_text
+            if list_element_text.instance_of?(String)
+              el = LibXML::XML::Node.new(model_data['List Element Name'][i])
 
-            item_attrs.each do |key,value|
-              el[key] = value
-            end
+              item_attrs.each do |key,value|
+                el[key] = value
+              end
 
-            el << list_element_text.to_s if list_element_text
+              el << list_element_text.to_s if list_element_text
 
-            list_element << el
-          else
-            list_element << rest_reference(list_element_text, query)
+              list_element << el
+            else
+              list_element << rest_reference(list_element_text, query)
+            end
           end
         end
 
@@ -967,22 +969,27 @@
     # Handle the preview and svg images.  If there's a preview supplied, use
     # it.  Otherwise auto-generate one if we can.
 
-    if preview.nil? and content
-      metadata = Workflow.extract_metadata(:type => ob.content_type.title, :data ="" content)
-      preview = metadata["image"].read if metadata["image"]
-    end
+    begin
+      if preview.nil? and content
+        metadata = Workflow.extract_metadata(:type => ob.content_type.title, :data ="" content)
+        preview = metadata["image"].read if metadata["image"]
+      end
 
-    if preview
-      ob.image = preview
-    end
+      if preview
+        ob.image = preview
+      end
 
-    if svg.nil? and content
-      metadata = Workflow.extract_metadata(:type => ob.content_type.title, :data ="" content)
-      svg = metadata["image"].read if metadata["image"]
-    end
+      if svg.nil? and content
+        metadata = Workflow.extract_metadata(:type => ob.content_type.title, :data ="" content)
+        svg = metadata["image"].read if metadata["image"]
+      end
 
-    if svg
-      ob.svg = svg
+      if svg
+        ob.svg = svg
+      end
+
+    rescue
+      return rest_response(500, :reason => "Unable to extract metadata")
     end
 
     success = if (action == 'create' and opts[:query]['id'])
@@ -2140,6 +2147,10 @@
 # Call dispatcher
 
 def rest_call_request(req_uri, format, rules, user, query)
-  eval("#{rules['Function']}(:req_uri => req_uri, :format => format, :rules => rules, :user => user, :query => query)")
+  begin
+    eval("#{rules['Function']}(:req_uri => req_uri, :format => format, :rules => rules, :user => user, :query => query)")
+  rescue
+    return rest_response(500)
+  end
 end
 

Modified: branches/datasets/lib/workflow_processors/bio_extract.rb (2834 => 2835)


--- branches/datasets/lib/workflow_processors/bio_extract.rb	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/lib/workflow_processors/bio_extract.rb	2011-11-22 15:47:19 UTC (rev 2835)
@@ -42,7 +42,7 @@
         file.rewind
         return !bioextract_model.nil?
       rescue
-        puts $!
+        logger.info($!)
         return false
       end
     end

Modified: branches/datasets/lib/workflow_processors/galaxy.rb (2834 => 2835)


--- branches/datasets/lib/workflow_processors/galaxy.rb	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/lib/workflow_processors/galaxy.rb	2011-11-22 15:47:19 UTC (rev 2835)
@@ -176,7 +176,7 @@
 
           workflow
         rescue
-          puts $!
+          logger.info $!
           nil
         end
       end

Modified: branches/datasets/lib/workflow_processors/rapid_miner.rb (2834 => 2835)


--- branches/datasets/lib/workflow_processors/rapid_miner.rb	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/lib/workflow_processors/rapid_miner.rb	2011-11-22 15:47:19 UTC (rev 2835)
@@ -45,7 +45,7 @@
         file.rewind
         return !rapid_miner_model.nil?
       rescue
-        puts $!
+        logger.info $!
         return false
       end
     end
@@ -291,7 +291,7 @@
 
           package
         rescue
-          puts $!
+          logger.info $!
           nil
         end
       end

Modified: branches/datasets/lib/workflow_processors/taverna2.rb (2834 => 2835)


--- branches/datasets/lib/workflow_processors/taverna2.rb	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/lib/workflow_processors/taverna2.rb	2011-11-22 15:47:19 UTC (rev 2835)
@@ -310,7 +310,6 @@
 
                     processors_element << build('processor') do |processor_element|
 
-puts "PROCESSOR NAME = #{processor.name}"
                       processor_element << build('name',                   processor.name)                   if processor.name
                       processor_element << build('description',            processor.description)            if processor.description
                       processor_element << build('type',                   processor.type)                   if processor.type

Modified: branches/datasets/public/stylesheets/elico.css (2834 => 2835)


--- branches/datasets/public/stylesheets/elico.css	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/public/stylesheets/elico.css	2011-11-22 15:47:19 UTC (rev 2835)
@@ -4,10 +4,14 @@
 	background: #cfd5dd;
 }
 
-#myexp_searchbar, #myexp_sidebar, a.tab:hover, #selected_tabnav, .pagination a  {
+#myexp_searchbar, #myexp_sidebar, .pagination a  {
   background: #4d597e;
 }
 
+.tabnav li a:hover, .tabnav li#selected_tabnav a {
+  background: none repeat scroll 0 0 #4d597e;
+}
+
 #elico_header
 {
   background: url("/images/elico_back1.png") repeat-x scroll center top #2C3966;
@@ -47,6 +51,10 @@
   color: white;
 }
 
+#doc2 {
+  padding: 0 1em;
+}
+
 /* IE7 fixes */
 #doc2 {
   *overflow: hidden;
@@ -55,5 +63,16 @@
 
 #elico_links_bar #inner {
   *height: 100%;
+  height: 100%;
 }
 /* end of IE7 fixes */
+
+#myexp_header {
+  margin: 0em 0.5em;
+}
+
+#hd
+{
+  padding-top: 1em;
+}
+

Modified: branches/datasets/public/stylesheets/styles.css (2834 => 2835)


--- branches/datasets/public/stylesheets/styles.css	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/public/stylesheets/styles.css	2011-11-22 15:47:19 UTC (rev 2835)
@@ -7,7 +7,7 @@
    http://developer.yahoo.com/yui/fonts/#fontsize
 */
 body {
-	background: #8e8e8e;
+	background: #8e8e8e url('/images/body-bg.gif') repeat-y center;
 	/* Only need to define one font here because the 
 	   YUI Fonts CSS provides a degradation path
 	   (see: http://developer.yahoo.com/yui/fonts/) */
@@ -127,18 +127,12 @@
 
 #doc2 {
 	background-color: #FFFFFF;
-  padding: 0 1em;
 }
 
 #myexp_header {
-	margin: 0em 0.5em;
+	margin: 1em 0.5em 0 0.5em;
 }
 
-#hd
-{
-  padding-top: 1em;
-}
-
 .logo {
 	float: left;
 	width: 300px;
@@ -149,9 +143,16 @@
   font-weight: bold;
 }
 
+#myexp_links
+{
+	float: right;
+	width: 600px;
+	font-size: 93%;
+}
+
 #site_info_links {
-  margin: 0.5em 0;
 }
+/*  margin: 0.5em 0; */
 
 #user_links {
   float: right;
@@ -296,8 +297,6 @@
 }
 
 /* begin css tabs nav */
-
-/* TODO: Remove me?
 .tabnav {
 	text-align: center;
 	font-weight: bolder;
@@ -344,34 +343,9 @@
 	background-color: #317eff;
 	background-image: none;
 	color: #FFFFFF;
-}   */
-
-.tabnav
-{
-  text-align: center;
-  margin: 0;
-  padding:  0;
 }
 
-a.tab {
-  display: inline-block;
-	padding: 4px 12px;
-	margin-left: 3px;
-	border-style: solid;
-  border-color: #BBBBBB;
-  border-width: 1px 1px 0px 1px;
-	text-decoration: none;
-	background: url('/images/tab-bg.png') top repeat-x #EDEDED;
-  color: #333333;
-	font-weight: bolder;
-	font-size: 108%;
-}
 
-a.tab:hover, #selected_tabnav {
-	color: #FFFFFF;
-	background: #317eff;
-}
-
 /* end css tabs nav */ 
 
 /* begin css breadcrumbs */

Modified: branches/datasets/test/fixtures/networks.yml (2834 => 2835)


--- branches/datasets/test/fixtures/networks.yml	2011-11-22 15:16:31 UTC (rev 2834)
+++ branches/datasets/test/fixtures/networks.yml	2011-11-22 15:47:19 UTC (rev 2835)
@@ -24,6 +24,8 @@
   updated_at: 2007-12-05 15:45:59
 
 exclusive_network:
+  id: 4
+  user_id: 1
   title: An Invite Only Network
   unique_name: invite_only
   created_at: 2007-12-05 15:45:59

reply via email to

[Prev in Thread] Current Thread [Next in Thread]