summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorckonstanski <ckonstanski@pippiandcarlos.com>2020-12-24 15:38:07 -0700
committerckonstanski <ckonstanski@pippiandcarlos.com>2020-12-24 15:38:07 -0700
commite54116790e06c0ec0ab0c799d62083df32c7d12a (patch)
treed0ac415d50f95084f620979735a8f63d496c4565
parent964704c412aa50f697e3153514c8c3c4e6704c4b (diff)
login now forwards to /inetorg/view
-rw-r--r--service/auth-service.lisp2
-rw-r--r--service/inetorg-view-service.lisp4
-rw-r--r--webapps/ldapadmin/clojurescript/ldapadmin/src/core.cljs16
-rw-r--r--webapps/ldapadmin/site.lisp8
4 files changed, 18 insertions, 12 deletions
diff --git a/service/auth-service.lisp b/service/auth-service.lisp
index e6f3ef4..e5e7e27 100644
--- a/service/auth-service.lisp
+++ b/service/auth-service.lisp
@@ -14,6 +14,6 @@
(defmacro with-auth ((instance auth-service) &body body)
`(let ((,instance (make-instance ',auth-service)))
- (when (null (errormsg ,instance))
+ (when (string= (session-value :permissions) "admin")
,@body)
(org-ckons-json::objects-to-json `(,,instance))))
diff --git a/service/inetorg-view-service.lisp b/service/inetorg-view-service.lisp
index 370fdc6..7beeed3 100644
--- a/service/inetorg-view-service.lisp
+++ b/service/inetorg-view-service.lisp
@@ -9,8 +9,10 @@
:accessor title))
(:documentation ""))
-(defun inetorg-view-json ()
+(defun inetorg-view-json (&optional message errormsg)
(with-auth (instance inetorg-view-service)
+ (setf (message instance) message)
+ (setf (errormsg instance) errormsg)
(setf (title instance) "Use the form to filter the InetOrg results.")))
(defclass inetorg-view-search-service (auth-service)
diff --git a/webapps/ldapadmin/clojurescript/ldapadmin/src/core.cljs b/webapps/ldapadmin/clojurescript/ldapadmin/src/core.cljs
index 8fce8dd..2a6d489 100644
--- a/webapps/ldapadmin/clojurescript/ldapadmin/src/core.cljs
+++ b/webapps/ldapadmin/clojurescript/ldapadmin/src/core.cljs
@@ -74,7 +74,7 @@
(defn maybe-error [jsonobj]
(let [errormsg (get jsonobj "errormsg")]
- (cond (or (= nil errormsg) (= "" errormsg))
+ (cond (empty? errormsg)
(dommy/set-style! (dommy/sel1 :#errormsg) :display "none")
:else
(do
@@ -84,7 +84,7 @@
(defn maybe-message [jsonobj]
(let [message (get jsonobj "message")]
- (cond (or (= nil message) (= "" message))
+ (cond (empty? message)
(dommy/set-style! (dommy/sel1 :#message) :display "none")
:else
(do
@@ -97,12 +97,12 @@
(maybe-message jsonobj))
(defn auth-notifications [jsonobj]
- (cond (get jsonobj "errormsg")
+ (cond (empty? (get jsonobj "errormsg"))
+ (maybe-message jsonobj)
+ :else
(do
(render-home "" (get jsonobj "errormsg"))
- (render-menu))
- :else
- (maybe-message jsonobj)))
+ (render-menu))))
;; forms
@@ -287,7 +287,7 @@
(defn handler-logout [response]
(let [jsonobj (js->clj (js/JSON.parse response))]
- (render-home"You are now logged out" "")
+ (render-home "You are now logged out" "")
(dommy/set-html! (dommy/sel1 :#location) "/home")
(render-menu)))
@@ -297,7 +297,7 @@
;; inetorg-view
(hiccups/defhtml template-inetorg-view [jsonobj]
- [:h3 {:style "text-align: center"} (get jsonobj "instructions")]
+ [:h3 {:style "text-align: center"} (get jsonobj "title")]
[:div {:id "search"}]
[:div {:id "results"}]
[:div {:id "modify"
diff --git a/webapps/ldapadmin/site.lisp b/webapps/ldapadmin/site.lisp
index eb644bd..891c9f9 100644
--- a/webapps/ldapadmin/site.lisp
+++ b/webapps/ldapadmin/site.lisp
@@ -55,9 +55,12 @@
(defmacro .logout ()
`(logout-json))
-(defmacro .inetorg-view ()
+(defmacro .inetorg-view-get ()
`(inetorg-view-json))
+(defmacro .inetorg-view-post ()
+ `(inetorg-view-json message errormsg))
+
(defmacro .inetorg-view-search ()
`(inetorg-view-search-json))
@@ -90,7 +93,8 @@
(define-endpoint :get "/login" () .login)
(define-endpoint :post "/login/authenticate" ((dn :parameter-type 'string) (password :parameter-type 'string)) .login-authenticate)
(define-endpoint :get "/logout" () .logout)
-(define-endpoint :get "/inetorg/view" () .inetorg-view)
+(define-endpoint :get "/inetorg/view" () .inetorg-view-get)
+(define-endpoint :post "/inetorg/view" ((message :parameter-type 'string) (errormsg :parameter-type 'string)) .inetorg-view-post)
(define-endpoint :get "/inetorg/view/search" () .inetorg-view-search)
(define-endpoint :post "/inetorg/view/results" ((givenname :parameter-type 'string) (sn :parameter-type 'string) (mail :parameter-type 'string) (postaladdress :parameter-type 'string) (postalcode :parameter-type 'string) (st :parameter-type 'string) (l :parameter-type 'string) (telephonenumber :parameter-type 'string) (mobile :parameter-type 'string) (businesscategory :parameter-type 'string)) .inetorg-view-results)
(define-endpoint :post "/inetorg/modify" ((cn :parameter-type 'string)) .inetorg-modify)