[Gd-chatter] r11062 - in trunk/libraries/network: koala/sources/examples/buddha web-framework

hannes at gwydiondylan.org hannes at gwydiondylan.org
Tue Dec 12 02:35:35 CET 2006


Author: hannes
Date: Tue Dec 12 02:35:33 2006
New Revision: 11062

Modified:
   trunk/libraries/network/koala/sources/examples/buddha/buddha.dylan
   trunk/libraries/network/web-framework/class-editor.dylan
Log:
Job: minor
more fixes

Modified: trunk/libraries/network/koala/sources/examples/buddha/buddha.dylan
==============================================================================
--- trunk/libraries/network/koala/sources/examples/buddha/buddha.dylan	(original)
+++ trunk/libraries/network/koala/sources/examples/buddha/buddha.dylan	Tue Dec 12 02:35:33 2006
@@ -168,6 +168,7 @@
          elseif (*user*.access-level = #"helpdesk")
            with-xml()
         ul {
+          li("Add:"),
           li { a("host", href => concatenate("/add?object-type=",
                                              get-reference(<host>),
                                              "&parent-object=",
@@ -176,7 +177,9 @@
            end;
          end if),
         ul { li{ text("Logged in as "),
-                 strong(*user*.username) } }
+                 strong(*user*.username),
+                 text("   "),
+                 a("logout", href => "/logout") } }
       }
     },
     do(?body)
@@ -193,6 +196,7 @@
                               response :: <response>,
                               #key errors)
   let out = output-stream(response);
+  if (*user*.access-level = #"root")
   with-buddha-template(out, "Admin")
     collect(show-errors(errors));
     collect(with-xml()
@@ -208,6 +212,10 @@
                 }
               }
             end);
+    end;
+  else
+    errors := add!(errors, make(<web-error>, error: "Permission denied"));
+    respond-to-get (#"network", request, response, errors: errors);
   end;
 end;
 

Modified: trunk/libraries/network/web-framework/class-editor.dylan
==============================================================================
--- trunk/libraries/network/web-framework/class-editor.dylan	(original)
+++ trunk/libraries/network/web-framework/class-editor.dylan	Tue Dec 12 02:35:33 2006
@@ -302,9 +302,6 @@
   let handler <web-form-warning>
     = method(e :: <web-form-warning>, next-handler :: <function>)
           errors := add!(errors, e);
-          if (*debug*)
-            break();
-          end;
       end;
   block(return)
     //add, save, remove... we may not need this here...
@@ -371,11 +368,12 @@
     for (slot in data-slots(object-type))
       let value = parse(slot.slot-name, slot.slot-type);
       //then set slots of object
-      unless ((slot.slot-type = <boolean>) | value)
+      if ((slot.slot-type = <boolean>) | value)
+        add!(init, as(<symbol>, slot.slot-name));
+        add!(init, value);
+      else
         add!(deferred-slot-setter, slot);
       end;
-      add!(init, as(<symbol>, slot.slot-name));
-      add!(init, value);
       //slot.slot-setter-method(value, object);
     end;
     for (slot in reference-slots(object-type))



More information about the chatter mailing list