<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>views/reply.erb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -4,6 +4,7 @@
 
 == ruote-rest - 0.9.21    not yet released
 
+- todo  #25858 : reply page for things like &quot;process x got cancelled&quot;
 - todo  #25710 : made workitem [payload] editable at error replay time
 - todo  #25167 : integrated Gonzalo and Nando's newauth patch
 - bug   #25016 : gem 'activerecord' getting in the way of frozen.rb. Removed.</diff>
      <filename>CHANGELOG.txt</filename>
    </modified>
    <modified>
      <diff>@@ -117,20 +117,25 @@ module RuoteRest
       &quot;&lt;div class=\&quot;pager\&quot;&gt;#{s}&lt;/div&gt;&quot;
     end
 
-    def render_ok (location, message)
+    # renders an information/message page
+    #
+    def render_reply (status, message)
 
       format, type = determine_out_format
 
+      response.status = status
+
       if format == 'xml'
-        #response.status = 200
+
         &quot;&lt;message&gt;#{message}&lt;/message&gt;&quot;
+
       elsif format == 'json'
-        #response.status = 200
+
         message.to_json
+
       else
-        response.status = 303
-        response.location = request.href(:processes)
-        message
+
+        _erb(:reply, :layout =&gt; :html, :locals =&gt; { :message =&gt; message })
       end
     end
 </diff>
      <filename>lib/helpers/application.rb</filename>
    </modified>
    <modified>
      <diff>@@ -25,8 +25,7 @@
 
 module RuoteRest
 
-SERVICES = [ :processes, :workitems, :errors, :participants, :history ]
-
+  SERVICES = [ :processes, :workitems, :errors, :participants, :history ]
 
   helpers do
 </diff>
      <filename>lib/rep/service.rb</filename>
    </modified>
    <modified>
      <diff>@@ -86,10 +86,11 @@ module RuoteRest
 
         RuoteRest.engine.replay_at_error(error)
 
-        render_ok(request.href(:errors), &quot;error at #{error.href} replayed&quot;)
+        render_reply(200, &quot;error at #{error.href} replayed&quot;)
       else
 
-        redirect(request.href(:errors))
+        #render_reply(404, &quot;no error found at #{error.href}&quot;)
+        render_reply(200, &quot;no error found at #{error.href}&quot;)
       end
     end
   end</diff>
      <filename>lib/res/errors.rb</filename>
    </modified>
    <modified>
      <diff>@@ -32,13 +32,8 @@ module RuoteRest
 
   get '/expressions/:wfid' do
 
-    #wfid = params[:wfid]
-    #es = RuoteRest.engine.process_stack wfid, true
-    #throw :done, [ 404, &quot;no process #{wfid}&quot; ] unless es
-
     ps = get_process_status
 
-    #rrender :expressions, es
     rrender :expressions, ps.all_expressions
   end
 
@@ -48,7 +43,7 @@ module RuoteRest
 
     RuoteRest.engine.update_expression(e)
 
-    render_ok(e.href(request), &quot;expression at #{e.href} updated&quot;)
+    render_reply(200, &quot;expression at #{e.href} updated&quot;)
   end
 
   get '/expressions/:wfid/:expid' do
@@ -68,7 +63,7 @@ module RuoteRest
 
     RuoteRest.engine.update_expression_tree(e, tree)
 
-    render_ok(e.href(request), &quot;expression at #{e.href} updated&quot;)
+    render_reply(200, &quot;expression at #{e.href} updated&quot;)
   end
 
   delete '/expressions/:wfid/:expid' do
@@ -77,9 +72,7 @@ module RuoteRest
 
     RuoteRest.engine.cancel_expression e
 
-    render_ok(
-      request.href(:expressions, params[:wfid]),
-      &quot;expression at #{e.href} cancelled (terminated)&quot;)
+    render_reply(200, &quot;expression at #{e.href} cancelled (terminated)&quot;)
   end
 
 </diff>
      <filename>lib/res/expressions.rb</filename>
    </modified>
    <modified>
      <diff>@@ -47,9 +47,15 @@ module RuoteRest
   delete '/participants/:pid' do
 
     pid, part = get_participant
-    Participants.remove pid
 
-    render_ok(request.href(:participants), &quot;participant #{pid} removed&quot;)
+    if pid
+
+      Participants.remove(pid)
+      render_reply(200, &quot;participant #{pid} removed&quot;)
+    else
+
+      render_reply(200, &quot;no participant '#{pid}' to remove&quot;)
+    end
   end
 
 </diff>
      <filename>lib/res/participants.rb</filename>
    </modified>
    <modified>
      <diff>@@ -130,11 +130,11 @@ module RuoteRest
 
     wfid = params[:wfid]
 
-    RuoteRest.engine.cancel_process wfid
+    RuoteRest.engine.cancel_process(wfid)
 
     sleep 0.350
 
-    render_ok(request.href(:processes), &quot;process #{wfid} deleted&quot;)
+    render_reply(200, &quot;process #{wfid} deleted&quot;)
   end
 
 </diff>
      <filename>lib/res/processes.rb</filename>
    </modified>
    <modified>
      <diff>@@ -56,15 +56,14 @@ module RuoteRest
       RuoteRest.engine.reply(owi)
       wi.destroy
 
-      response.location = request.href(:workitems)
-      rrender(:workitems, find_workitems)
+      render_reply(200, &quot;workitem at #{owi.href} proceeded&quot;)
     else
 
       # TODO : notify HTML clients of the update ? flash.notice ?
 
       wi.replace_fields(owi.attributes)
 
-      rrender(:workitem, wi)
+      render_reply(200, &quot;workitem at #{owi.href} updated&quot;)
     end
   end
 
@@ -78,8 +77,7 @@ module RuoteRest
 
     RuoteRest.engine.reply(wi)
 
-    response.location = request.href(:workitems)
-    rrender(:workitems, find_workitems)
+    render_reply(200, &quot;workitem #{wi.fei.wfid} #{wi.fei.expid}proceeded&quot;)
   end
 
   #</diff>
      <filename>lib/res/workitems.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,7 +9,11 @@ body {
 .explanation {
   font-size: 12px;
   font-style: italic;
-  margin-bottom: 10px;
+  margin-bottom: 1em;
+}
+.message {
+  margin-top: 2em;
+  margin-bottom: 2em;
 }
 a, a:visited {
   color: #000099;</diff>
      <filename>public/css/application.css</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 
 &lt;div class=&quot;fei&quot;&gt;
-    &lt;a href=&quot;/processes/&lt;%= fei.wfid %&gt;&quot;&gt;GET /processes/&lt;%= fei.wfid %&gt;&lt;/a&gt;
+  &lt;a href=&quot;/processes/&lt;%= fei.wfid %&gt;&quot;&gt;GET /processes/&lt;%= fei.wfid %&gt;&lt;/a&gt;
 &lt;/div&gt;
 </diff>
      <filename>views/fei.erb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>5e4d8aaccf7254dbc9bddc4286c916100f8827ce</id>
    </parent>
  </parents>
  <author>
    <name>John Mettraux</name>
    <email>jmettraux@gmail.com</email>
  </author>
  <url>http://github.com/jmettraux/ruote-rest/commit/1f6da28aaf01cee61a11184c1f48078e9d7e83ad</url>
  <id>1f6da28aaf01cee61a11184c1f48078e9d7e83ad</id>
  <committed-date>2009-05-10T04:20:02-07:00</committed-date>
  <authored-date>2009-05-10T04:20:02-07:00</authored-date>
  <message>todo #25858 : reply page for things like &quot;process x got cancelled&quot;</message>
  <tree>d4ca7553ed3dfe65476fbc3af89e78d5e5a60368</tree>
  <committer>
    <name>John Mettraux</name>
    <email>jmettraux@gmail.com</email>
  </committer>
</commit>
