From a9e1c229d23000dbf91571b7aafc4cf19ac6f1d6 Mon Sep 17 00:00:00 2001 From: Steve Coast Date: Sat, 7 Apr 2007 17:14:53 +0000 Subject: [PATCH] ability to make trace public --- app/controllers/trace_controller.rb | 14 ++++++++++++-- app/views/trace/view.rhtml | 7 +++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/app/controllers/trace_controller.rb b/app/controllers/trace_controller.rb index fd9e2af25..3614dadde 100644 --- a/app/controllers/trace_controller.rb +++ b/app/controllers/trace_controller.rb @@ -125,6 +125,16 @@ class TraceController < ApplicationController end end + def make_public + trace = Trace.find(params[:id]) + if @user and trace.user == @user and !trace.public + trace.public = true + trace.save + flash[:notice] = 'Track made public' + redirect_to :controller => 'trace', :action => 'view', :id => params[:id] + end + end + def georss traces = Trace.find(:all, :conditions => ['public = true'], :order => 'timestamp DESC', :limit => 20) @@ -142,11 +152,11 @@ class TraceController < ApplicationController def picture trace = Trace.find(params[:id]) - send_data(trace.large_picture, :filename => "#{trace.id}.gif", :type => 'image/gif', :disposition => 'inline') if trace.public? + send_data(trace.large_picture, :filename => "#{trace.id}.gif", :type => 'image/gif', :disposition => 'inline') if trace.public? or (@user and @user == trace.user) end def icon trace = Trace.find(params[:id]) - send_data(trace.icon_picture, :filename => "#{trace.id}_icon.gif", :type => 'image/gif', :disposition => 'inline') if trace.public? + send_data(trace.icon_picture, :filename => "#{trace.id}_icon.gif", :type => 'image/gif', :disposition => 'inline') if trace.public? or (@user and @user == trace.user) end end diff --git a/app/views/trace/view.rhtml b/app/views/trace/view.rhtml index 63b1b7e00..8defc69ee 100644 --- a/app/views/trace/view.rhtml +++ b/app/views/trace/view.rhtml @@ -17,3 +17,10 @@ <% end %> + +<% unless @trace.public? %> +

+ <%= start_form_tag :controller => 'trace', :action => 'make_public', :id => @trace.id%> + <%= submit_tag 'Make this track public permanently' %> + <%= end_form_tag %> +<% end %> -- 2.43.2