   (layout (string/capitalize (dog-mission/translate :edit-view-title (dog-mission/translate entity-class-key)))
           (input-form-panel entity-class-key entity radial-mount-errors :patch (<< "/~(name entity-class-key)/~(:key entity)") :update)))
 
+(defn back-to-index-view
+  [entity-class-key]
+  (layout ""
+          (javascript-tag (<< "$.crossplane.goToWithMethodAndParams('~(to-uri (<< \"/~(name entity-class-key)\"))', 'get', ~(json/write-str (base64-decode (get-in *request* [:params :index-params]))));"))))
+
 ;; Controllers.
 
 (defmulti condition

  [entity-class-key uri-parameters]
  (with-db-transaction'
    (let [entity-key (UUID/fromString (:key uri-parameters))]
      (save-entity! entity-class-key (entity-contained-database entity-class-key entity-key) entity-key edit-view))))

(defn destroy-controller
  [entity-class-key uri-parameters]
  (layout "" (list [:p "destroy"]
                   (link-to-with-method-and-params {:class "btn btn-default"} (to-uri (<< "/~(name entity-class-key)")) :get (base64-decode (get-in *request* [:params :index-params])) (string/capitalize (dog-mission/translate :back))))))

;; Rouring.


(defn create-controller
  [entity-class-key uri-parameters]
  (with-db-transaction'
    (create-or-update-entity! entity-class-key (database @database-schema) (new-key) new-view)))

(defn edit-controller
  [entity-class-key uri-parameters]
