            [:div.form-group.col-lg-12
             [:div.form-group.col-lg-5.pull-right
              [:button.btn.btn-primary.btn-lg.btn-block
-              {:type "submit" :value "Report"} "Report Match Result " [:span.glyphicon.glyphicon-ok]]]]]])))))
+              (merge {:on-click (fn [e] (submit-report! @report-match))}
+                     (when-not enabled? {:disabled "disabled"}))
+              "Report Match Result " [:span.glyphicon.glyphicon-ok]]]]]])))))
 
 (defn render [app]
   (if (:auth app)

        (when-not (@app :players)
          (data/go-update-data! "/api/players" app :players))
        (let [empty-team {:player1 nil :player2 nil :score nil :valid-score? true}]
          (om/update! app [:report-match] {:team1 empty-team
                                           :team2 empty-team
                                           :matchdate (tc/now)}))
        (loc/set-location app (:id v)))
      (.back js/history))))



    om/IRenderState
    (render-state [_ {:keys [team1 team2 matchdate]}]
      (let [_   (debug "players" (map (fn [p] (str "'" (:name p) "'"))
                                     (selected-players (:team1 report-match)
                                                       (:team2 report-match))))
            __  (debug "scores" (map (fn [kw] (get-in report-match [kw :score])) [:team1 :team2]))
            ___ (debug "matchdate" (-> report-match :matchdate d/->str))
            ____ (debug "submits" submits)
            render-team (partial render-team-controls app)
            enabled? (valid-report? report-match)]
        (html
         [:div
          [:h1 "Report Match Result"]
