filled in the as-table displays. step by step.
[clinton/lisp-on-lines.git] / src / slot-presentations.lisp
index 02fb818..8dff900 100644 (file)
@@ -239,7 +239,8 @@ Calendar.setup({
 
 
 (defmethod find-foreign-instances ((slot foreign-key-slot-presentation))
-  (clsql:select (class-name (class-of (meta-model:explode-foreign-key (instance slot) (slot-name slot))))))
+  (clsql:select (class-name (class-of (meta-model:explode-foreign-key (instance slot) (slot-name slot))))
+               :order-by (car (list-keys (instance slot)))))
 
 
 
@@ -300,7 +301,8 @@ Calendar.setup({
                       
 
 (defmethod get-foreign-instances ((slot has-many-slot-presentation) instance)
-  (slot-value instance (slot-name slot)))
+  (sort (slot-value instance (slot-name slot)) #'<  
+       :key #'(lambda (x) (funcall (car (list-keys x)) x))))
 
 (defmethod lol::presentation-slot-value ((slot has-many-slot-presentation) instance)
   (get-foreign-instances slot instance))
@@ -443,7 +445,7 @@ Calendar.setup({
                (<:as-html "(view) "))
        (<ucw:a :action (delete-relationship slot (second i) instance)
                (<:as-html "(remove) "))
-       (present-view ((car i) (list-view slot) (ucw::parent slot)))) ))))
+       (present-view ((car i) (list-view slot) (ucw::parent slot))))))))
 
 
 (defaction add-to-many-to-many ((slot many-to-many-slot-presentation) instance &optional foreign-instance)