Hi,

I'm getting an error for which I'm not sure. I have implemented
logging to file that will I hope help me to debug. I've tried to
implement your widget this way:

(defun init-user-session (comp)
  (logiraj +DEBUG+ "otvaramo init-user-session~%")
  (setf (widget-children comp)
        (list
         (make-instance 'flash :messages
                        (list (weblocks:make-widget "Some message")))
         (weblocks:make-navigation "Glavni meni"
                                   :navigation-class 'protected-navigation
                                   :extra-args `(:user-fn
                                                 ,(f-underscore:f0 
(webapp-session-value weblocks:*authentication-key*)
                                                                   (logiraj 
+DEBUG+ "Odvrtili smo :user-fn a authentication
key je ~A~%" weblocks:*authentication-key*))
                                                 :login-widget-generator
                                                 ,(f-underscore:f0
                                                    (logiraj +DEBUG+ "Sad smo u 
:login-widget-generator~%")
                                                    (make-widget 'login-maybe
                                                                 :view 
'login-form-view
                                                                 :on-login 
'autentikacija-korisnika)))
                                   ;; :on-success (f-underscore:f_% (setf 
(webapp-session-value
'user) t)))))
                                   ;; if korisnicko.pravo = blabla (list meni 
taj i taj)
                                   (list "Naslovna stranica" 
(naslovna-stranica) "naslovnastranica")
                                   (list "Druga stranica" (druga-stranica) 
"drugastranica")
                                   (list "Treca stranica" (treca-stranica) 
"trecastranica")
                                   (list "The end" (the-end) "theend")))))

You can see the contents of the login-maybe and the rest from the
previous copy&paste and on that paste.linux.org site that I have put
there, so I won't repeat myself.

As for the logging, I get the message that the last thing running was
the creation of the login-widget-generator, with the message "Sad smo
u :login-widget-generator". Here is the backtrace. It reports the
invalid number of arguments, but I'm not sure which ones. Also, I
don't understand how submenus should be implemented. I feel like I'm
near the solution, but I don't understand what the obstacle is.



Weblocks caught an error
Description

SIMPLE-PROGRAM-ERROR: invalid number of arguments: 5
Actions

    * Reset this web application's session

Session data

TODO
Restarts

TODO
Backtrace
        Function        Arguments
43      MAP-BACKTRACE   

   1. #<CLOSURE (LAMBDA (SB-DEBUG::FRAME)) {1005DE3479}>
   2. START
   3. 0
   4. COUNT
   5. 1152921504606846975

42      BACKTRACE-AS-LIST       

   1. 1152921504606846975

41      (FAST-METHOD HANDLE-ERROR-CONDITION (WEBLOCKS-WEBAPP T))        

   1. #<unavailable argument>
   2. #<unavailable argument>
   3. #<unavailable argument>
   4. invalid number of arguments: 5

40      (FLET LAMBDA13) 

   1. invalid number of arguments: 5

39      SIGNAL  

   1. invalid number of arguments: 5

38      ERROR   

   1. SIMPLE-PROGRAM-ERROR
   2. FORMAT-CONTROL
   3. invalid number of arguments: ~S
   4. FORMAT-ARGUMENTS
   5. (5)

37      INVALID-ARG-COUNT-ERROR-HANDLER 

   1. #<unavailable argument>
   2. #.(SB-SYS:INT-SAP #X7FFFF35BE680)
   3. #<SB-ALIEN-INTERNALS:ALIEN-VALUE :SAP #X7FFFF35BE200 :TYPE (*
(STRUCT SB-VM::OS-CONTEXT-T-STRUCT))>
   4. (84)

36      INTERNAL-ERROR  

   1. #.(SB-SYS:INT-SAP #X7FFFF35BE200)
   2. #<unavailable argument>

35      foreign function: call_into_lisp        

34      foreign function: funcall2      

33      foreign function: interrupt_internal_error      

32      foreign function: #x412E8A      

31      (LAMBDA (.ARG0.))       

   1. LOGIN-MAYBE

30      (FAST-METHOD GET-WIDGET-FOR-TOKENS (PROTECTED-NAVIGATION T))    

   1. #<unavailable argument>
   2. #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION
(SB-PCL::FAST-METHOD WEBLOCKS:GET-WIDGET-FOR-TOKENS #)> :PV NIL
:NEXT-METHOD-CALL NIL :ARG-INFO (2))
   3. #<PROTECTED-NAVIGATION "Glavni meni">
   4. #<URI-TOKENS NIL>

29      (FAST-METHOD UPDATE-CHILDREN (SELECTOR))        

   1. #<unavailable argument>
   2. #<unavailable argument>
   3. #<PROTECTED-NAVIGATION "Glavni meni">

28      (LAMBDA (WIDGET D))     

   1. #<PROTECTED-NAVIGATION "Glavni meni">
   2. 1

27      (FAST-METHOD WALK-WIDGET-TREE (WIDGET T))       

   1. #<unused argument>
   2. #<unused argument>
   3. #<PROTECTED-NAVIGATION "Glavni meni">
   4. #<CLOSURE (LAMBDA (WEBLOCKS:WIDGET WEBLOCKS::D)) {1005C60DD9}>
   5. 1

26      (FAST-METHOD MAP-SUBWIDGETS PROGN (T T))        

   1. #<unavailable argument>
   2. #<unavailable argument>
   3. #<CLOSURE (LAMBDA (&REST METABANG.UTILITIES::ARGS2)) {1005CA40E9}>
   4. #<WIDGET "root">

25      UPDATE-WIDGET-TREE      

24      (FLET WITH-MUTEX-THUNK) 

23      (FLET WITHOUT-INTERRUPTS-BODY-[CALL-WITH-MUTEX]300)     

22      CALL-WITH-MUTEX 

   1. #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK) {7FFFF35BEBA9}>
   2. #S(SB-THREAD:MUTEX :NAME session lock for session
#<HUNCHENTOOT:SESSION {100A147F81}> :%OWNER #<THREAD "Handling normal
request [tree shakedown]" RUNNING {10067A5471}> :STATE 1)
   3. #<THREAD "Handling normal request [tree shakedown]" RUNNING {10067A5471}>
   4. T

21      (FAST-METHOD HANDLE-NORMAL-REQUEST (WEBLOCKS-WEBAPP))   

   1. #<unavailable argument>
   2. #<unavailable argument>
   3. #<unavailable argument>

20      (LAMBDA ())     

19      (FAST-METHOD HANDLE-CLIENT-REQUEST (WEBLOCKS-WEBAPP))   

   1. #<unavailable argument>
   2. #<unavailable argument>
   3. #<unavailable argument>

18      (FLET doit-71)  

17      (FAST-METHOD HANDLE-CLIENT-REQUEST AROUND (T))  

   1. #<unavailable argument>
   2. #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION
(SB-PCL::FAST-METHOD WEBLOCKS:HANDLE-CLIENT-REQUEST #)> :PV NIL
:NEXT-METHOD-CALL NIL :ARG-INFO (1))
   3. #<VTS {100A11F121}>

16      (FAST-METHOD HANDLE-CLIENT-REQUEST AROUND (T))  

   1. #<unavailable argument>
   2. #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION
(SB-PCL::FAST-METHOD WEBLOCKS:HANDLE-CLIENT-REQUEST #)> :PV NIL
:NEXT-METHOD-CALL NIL :ARG-INFO (1))
   3. #<VTS {100A11F121}>

15      CALL-IN-WEBAPP  

   1. #<VTS {100A11F121}>
   2. #<CLOSURE (LAMBDA ()) {10067CFA69}>

14      (FAST-METHOD HANDLE-CLIENT-REQUEST AROUND (WEBLOCKS-WEBAPP))    

   1. #<unavailable argument>
   2. #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION
(SB-PCL::FAST-METHOD WEBLOCKS:HANDLE-CLIENT-REQUEST :AROUND ...)> :PV
NIL :NEXT-METHOD-CALL #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION
#> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (1)) :ARG-INFO (1))
   3. #<VTS {100A11F121}>

13      (FAST-METHOD HANDLE-REQUEST (ACCEPTOR REQUEST)) 

   1. #<unavailable argument>
   2. #<unavailable argument>
   3. #<WEBLOCKS-ACCEPTOR (host localhost, port 8443)>
   4. #<REQUEST {10067C0C91}>

12      (FAST-METHOD PROCESS-REQUEST (T))       

   1. #<unavailable argument>
   2. #<unavailable argument>
   3. #<REQUEST {10067C0C91}>

11      (FAST-METHOD PROCESS-CONNECTION (ACCEPTOR T))   

   1. #<unavailable argument>
   2. #<unavailable argument>
   3. #<WEBLOCKS-ACCEPTOR (host localhost, port 8443)>
   4. #<STREAM-USOCKET {10067A25B1}>

10      (FAST-METHOD PROCESS-CONNECTION (WEBLOCKS-ACCEPTOR T))  

   1. #<unavailable argument>
   2. #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION
(SB-PCL::FAST-METHOD HUNCHENTOOT:PROCESS-CONNECTION #)> :PV NIL
:NEXT-METHOD-CALL NIL :ARG-INFO (2))
   3. #<WEBLOCKS-ACCEPTOR (host localhost, port 8443)>
   4. #<STREAM-USOCKET {10067A25B1}>

9       (FAST-METHOD PROCESS-CONNECTION AROUND (ACCEPTOR T))    

   1. #<unavailable argument>
   2. #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION
(SB-PCL::FAST-METHOD HUNCHENTOOT:PROCESS-CONNECTION #)> :PV NIL
:NEXT-METHOD-CALL #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION #>
:PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (2)) :ARG-INFO (2))
   3. #<WEBLOCKS-ACCEPTOR (host localhost, port 8443)>
   4. #<STREAM-USOCKET {10067A25B1}>

8       (LAMBDA ())     

7       (FLET WITHOUT-INTERRUPTS-BODY-[BLOCK369]374)    

6       (FLET WITH-MUTEX-THUNK) 

5       (FLET WITHOUT-INTERRUPTS-BODY-[CALL-WITH-MUTEX]300)     

4       CALL-WITH-MUTEX 

   1. #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK) {7FFFF35BFCB9}>
   2. #S(SB-THREAD:MUTEX :NAME thread result lock :%OWNER #<THREAD
"Handling normal request [tree shakedown]" RUNNING {10067A5471}>
:STATE 1)
   3. #<THREAD "Handling normal request [tree shakedown]" RUNNING {10067A5471}>
   4. T

3       INITIAL-THREAD-FUNCTION 

2       foreign function: call_into_lisp        

1       foreign function: new_thread_trampoline 

This is the Weblocks Application Framework running on
Hunchentoot 1.1.1 (SBCL 1.0.44.22) at localhost:8443

-- 
You received this message because you are subscribed to the Google Groups 
"weblocks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/weblocks?hl=en.

Reply via email to