         console.error textStatus, errorThrown.toString()
 
     toggleTodo: (id, completed) ->
-      @dispatch(constants.TOGGLE_TODO, id: id, completed: completed)
+      params = todo:
+                 completed: completed
+      $.ajax
+        method: "PATCH"
+        url: "/todos/" + id
+        data: params
+      .done (data, textStatus, jqXHR) =>
+        title = if data.completed then "Completed" else "Not completed"
+        @dispatch(constants.TOGGLE_TODO, id: data.id, completed: data.completed)
+        $.growl.notice title: title, message: data.content
+      .fail (jqXHR, textStatus, errorThrown) =>
+        $.growl.error title: "Error", message: "Error toggleing todo completion"
+        console.error textStatus, errorThrown.toString()
 
     updateTodo: (id, new_content) ->
       @dispatch(constants.UPDATE_TODO, id: id, new_content: new_content)


  actions =

    addTodo:    (content) ->
      params = todo:
                 content: content

      @emit('change')

    onToggleTodo: (payload) ->
      @todos[payload.id].completed = payload.completed
      @emit('change')

    onUpdateTodo: (payload) ->
      params = todo:
