        (build-status-badge build)]
 
 
-      ;; These two cases should be mutually exclusive. Just in case they aren't,
-      ;; use a cond so it doesn't try to render both in the same place
+      ;; Actions should be mutually exclusive. Just in case they
+      ;; aren't, use a cond so it doesn't try to render both in the
+      ;; same place
       (cond
-        (build-model/can-cancel? build)
+        should-show-cancel?
         (build-action
           {:text "cancel"
            :loading-text "Cancelling..."

            [frontend.components.svg :refer [svg]]
            [frontend.models.build :as build-model]
            [frontend.models.feature :as feature]
            [frontend.utils.vcs-url :as vcs-url]
            [frontend.utils :as utils :include-macros true]
            [om.core :as om :include-macros true]

                                                                             :org (:username build)}})}
            (build-model/github-revision build)])]]]]))

(defn builds-table [{:keys [builds projects]}
                    owner
                    {:keys [show-actions? show-branch? show-project?]
                     :or {show-branch? true
                          show-project? true}}]
  (reify
    om/IDisplayName (display-name [_] "Builds Table V2")
    om/IRender
    (render [_]
      (html
        [:div.container-fluid
         (map #(build-row {:build %
                           :project (get projects (:vcs_url %))}
                          owner {:show-actions? show-actions?
                                 :show-branch? show-branch?
                                 :show-project? show-project?})
              builds)]))))
