                           (apply dom/div nil
                                  (map #(om/build usage-view (lib/merge-react-key %)) usages))))))))
 
+(defn get-statement-handler
+  ""
+  [response]
+  (let [res (com/process-response response)]
+    (com/ajax-get-and-change-view (:url res) :default)))
+
+(defn get-statement-url
+  "Given an issue-id, statement-id and attitude, query statement url inside the discussion."
+  [statement agree]
+  (let [issue-id (get-in statement [:issue :uid])
+        statement-id (get-in statement [:statement :uid])
+        pre-url (get-in config/api [:get :statement-url])
+        url (clojure.string/join "/" [pre-url issue-id statement-id agree])]
+    (com/ajax-get url {} get-statement-handler)))
+
 (defn agree-disagree-view
   "Agree or disagree with the selected reference."
   []

(defn reference-usage-handler
  "Handler to process information about the reference. Store results and change view."
  [response]
  (let [res (com/success-handler response)]
    (lib/update-state-item! :common :reference-usages (fn [_] res))
    (lib/change-view! :reference-usages)))


  [data _owner]
  (reify om/IRender
    (render [_]
      (let [issue (:issue data)
            statement (:statement data)
            author (:author data)]
        (dom/div #js {:className "bs-callout bs-callout-info"}
