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.