diff options
| author | ckonstanski <carlos.konstanski@olo.com> | 2021-11-27 10:20:12 -0700 |
|---|---|---|
| committer | ckonstanski <carlos.konstanski@olo.com> | 2021-11-27 10:20:12 -0700 |
| commit | 31657f6854edc116946a099be889440fb3e92e53 (patch) | |
| tree | be32747cfaf2f19f59857349438d62fb4a4a25b6 /webapps/ldapadmin/clojurescript | |
| parent | 41ca4dcf8a18a76c48734a5fca4c56afb735a66e (diff) | |
moved everything under lisp/
Diffstat (limited to 'webapps/ldapadmin/clojurescript')
5 files changed, 0 insertions, 490 deletions
diff --git a/webapps/ldapadmin/clojurescript/ldapadmin/.gitignore b/webapps/ldapadmin/clojurescript/ldapadmin/.gitignore deleted file mode 100644 index a1cd79c..0000000 --- a/webapps/ldapadmin/clojurescript/ldapadmin/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -target -classes -resources -checkouts -pom.xml -pom.xml.asc -*.jar -*.class -.lein-* -.nrepl-port -.hgignore -.hg -profiles.clj -figwheel_server.log -.rebel_readline_history diff --git a/webapps/ldapadmin/clojurescript/ldapadmin/README.md b/webapps/ldapadmin/clojurescript/ldapadmin/README.md deleted file mode 100644 index 53ca866..0000000 --- a/webapps/ldapadmin/clojurescript/ldapadmin/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# ldapadmin - -A Clojure library designed to ... well, that part is up to you. - -## Usage - -FIXME - -## License - -Copyright © 2017 FIXME - -Distributed under the Eclipse Public License either version 1.0 or (at -your option) any later version. diff --git a/webapps/ldapadmin/clojurescript/ldapadmin/checkouts/.gitignore b/webapps/ldapadmin/clojurescript/ldapadmin/checkouts/.gitignore deleted file mode 100644 index 72e8ffc..0000000 --- a/webapps/ldapadmin/clojurescript/ldapadmin/checkouts/.gitignore +++ /dev/null @@ -1 +0,0 @@ -* diff --git a/webapps/ldapadmin/clojurescript/ldapadmin/project.clj b/webapps/ldapadmin/clojurescript/ldapadmin/project.clj deleted file mode 100644 index 001af8b..0000000 --- a/webapps/ldapadmin/clojurescript/ldapadmin/project.clj +++ /dev/null @@ -1,13 +0,0 @@ -(defproject ldapadmin "0.1.0-SNAPSHOT" - :description "An LDAP adminitration utility written in SBCL on the - server-side and ClojureScript on the client-side. This is the - client-side component." - :url "FIXME" - :license "public domain" - :dependencies [[org.clojure/clojure "LATEST"] - [org.clojure/clojurescript "LATEST"] - [cljs-ajax "LATEST"] - [prismatic/dommy "LATEST"] - [hiccups "LATEST"]] - :plugins [[lein-cljsbuild "LATEST"]] - :clean-targets ^{:protect false} [:target-path "out" "resources/public/cljs"]) diff --git a/webapps/ldapadmin/clojurescript/ldapadmin/src/core.cljs b/webapps/ldapadmin/clojurescript/ldapadmin/src/core.cljs deleted file mode 100644 index d3f0374..0000000 --- a/webapps/ldapadmin/clojurescript/ldapadmin/src/core.cljs +++ /dev/null @@ -1,447 +0,0 @@ -(ns ldapadmin.core - (:require-macros [hiccups.core :as hiccups :refer [html]]) - (:require [ajax.core :refer [GET POST]] - [dommy.core :as dommy] - [hiccups.runtime :as hiccupsrt] - [clojure.string :as str] - [org-ckons-cljs.notifications.core :as ck-notifications] - [org-ckons-cljs.form.core :as ck-form])) - -;; declarations - -(enable-console-print!) -(def jquery (js* "$")) - -(declare notifications) -(declare auth-notifications) -(declare template-menu) -(declare handler-menu) -(declare render-menu) -(declare template-home) -(declare handler-home) -(declare render-home) -(declare template-login) -(declare handler-login) -(declare render-login) -(declare on-login-submit-clicked) -(declare handler-login-authenticate) -(declare render-login-authenticate) -(declare handler-logout) -(declare render-logout) -(declare template-inetorg-view) -(declare handler-inetorg-view) -(declare render-inetorg-view) -(declare on-inetorg-view-search-clicked) -(declare template-inetorg-view-search) -(declare handler-inetorg-view-search) -(declare render-inetorg-view-search) -(declare template-inetorg-view-results) -(declare handler-inetorg-view-results) -(declare render-inetorg-view-results) -(declare on-inetorg-modify-clicked) -(declare template-inetorg-modify) -(declare handler-inetorg-modify) -(declare render-inetorg-modify) -(declare on-inetorg-modify-submit-clicked) -(declare handler-inetorg-modify-submit) -(declare render-inetorg-modify-submit) -(declare on-inetorg-delete-clicked) -(declare template-inetorg-delete) -(declare handler-inetorg-delete) -(declare render-inetorg-delete) -(declare on-inetorg-delete-submit-clicked) -(declare handler-inetorg-delete-submit) -(declare render-inetorg-delete-submit) -(declare template-inetorg-add) -(declare handler-inetorg-add) -(declare render-inetorg-add) -(declare on-inetorg-add-submit-clicked) -(declare handler-inetorg-add-submit) -(declare render-inetorg-add-submit) -(declare on-menu-clicked) -(declare handler-location) -(declare goto-location) - -;; notifications - -(defn notifications [jsonobj] - (ck-notifications/maybe-message jsonobj) - (ck-notifications/maybe-error jsonobj)) - -(defn auth-notifications [jsonobj] - (cond (empty? (get jsonobj "errormsg")) - (notifications jsonobj) - :else - (do - (render-home "" (get jsonobj "errormsg")) - (render-menu)))) - -;; menu - -(hiccups/defhtml template-menu [menuitems] - [:ul {:class "nav nav-pills"} - (for [menuitem menuitems] - [:li {:class "nav-item"} - [:a {:class (cond (= (str/upper-case (get menuitem "handler")) - (str/upper-case (dommy/html (dommy/sel1 :#location)))) - "nav-link active" - :else - "nav-link") - :id (get menuitem "id") - :onclick (str (namespace ::x) ".on_menu_clicked('" (get menuitem "handler") "')")} - (get menuitem "label")]])]) - -(defn handler-menu [response] - (let [jsonobj (js->clj (js/JSON.parse response))] - (dommy/set-html! (dommy/sel1 :#menu) (template-menu (get jsonobj "menuitems"))))) - -(defn render-menu [] - (GET "/menu" {:handler handler-menu})) - -;; home - -(hiccups/defhtml template-home [jsonobj] - [:h3 {:style "text-align: center"} (get jsonobj "content")]) - -(defn handler-home [response] - (let [jsonobj (js->clj (js/JSON.parse response))] - (notifications jsonobj) - (dommy/set-html! (dommy/sel1 :#body) (template-home jsonobj)))) - -(defn render-home - ([] - (GET "/home" {:handler handler-home})) - ([message errormsg] - (POST "/home" {:format :raw - :params {:message message - :errormsg errormsg} - :handler handler-home}))) - -;; login - -(hiccups/defhtml template-login [jsonobj] - [:h3 {:style "text-align: center"} (get jsonobj "title")] - (ck-form/template-generic-form (get jsonobj "form") (namespace ::x)) - [:div {:style "text-align: center"}]) - -(defn handler-login [response] - (let [jsonobj (js->clj (js/JSON.parse response))] - (notifications jsonobj) - (dommy/set-html! (dommy/sel1 :#body) (template-login jsonobj)))) - -(defn render-login [] - (GET "/login" {:handler handler-login})) - -;; login-authenticate - -(defn on-login-submit-clicked [] - (when (-> (jquery "#login-form") - (.get "0") - (.checkValidity)) - (render-login-authenticate))) - -(defn handler-login-authenticate [response] - (let [jsonobj (js->clj (js/JSON.parse response))] - (cond (get jsonobj "errormsg") - (goto-location "/login") - (get jsonobj "message") - (do - (dommy/set-html! (dommy/sel1 :#location) "/inetorg/view") - (render-inetorg-view) - (render-menu))))) - -(defn render-login-authenticate [] - (POST "/login/authenticate" {:format :raw - :params {:dn (dommy/value (dommy/sel1 :#dn)) - :password (dommy/value (dommy/sel1 :#password))} - :handler handler-login-authenticate})) - -;; logout - -(defn handler-logout [response] - (let [jsonobj (js->clj (js/JSON.parse response))] - (render-home (get jsonobj "message") "") - (dommy/set-html! (dommy/sel1 :#location) "/home") - (render-menu))) - -(defn render-logout [] - (GET "/logout" {:handler handler-logout})) - -;; inetorg-view - -(hiccups/defhtml template-inetorg-view [jsonobj] - [:h3 {:style "text-align: center"} (get jsonobj "title")] - [:div {:id "search"}] - [:div {:id "results"}] - [:div {:id "modify" - :class "modal fade" - :role "dialog"} - [:div {:class "modal-dialog modal-lg"} - [:div {:class "modal-content"} - [:div {:class "modal-header"} - [:button {:type "button" - :class "close" - :data-dismiss "modal"} - "×"] - [:h4 "Modify InetOrg Entry"]] - [:div {:id "modify-body" - :class "modal-body" - :style "height: 510px;"}] - [:div {:class "modal-footer"} - [:button {:type "submit" - :class "btn btn-danger btn-default" - :data-dismiss "modal"} - [:span {:class "glyphicon glyphicon-remove"}] - "Cancel"]]]]] - [:div {:id "delete" - :class "modal fade" - :role "dialog"} - [:div {:class "modal-dialog"} - [:div {:class "modal-content"} - [:div {:class "modal-header"} - [:button {:type "button" - :class "close" - :data-dismiss "modal"} - "×"] - [:h4 "Delete InetOrg Entry"]] - [:div {:id "delete-body" - :class "modal-body"}] - [:div {:class "modal-footer"} - [:button {:type "submit" - :class "btn btn-danger btn-default" - :data-dismiss "modal"} - [:span {:class "glyphicon glyphicon-remove"}] - "Cancel"]]]]]) - -(defn handler-inetorg-view [response] - (let [jsonobj (js->clj (js/JSON.parse response))] - (auth-notifications jsonobj) - (dommy/set-html! (dommy/sel1 :#body) (template-inetorg-view jsonobj)) - (render-inetorg-view-search))) - -(defn render-inetorg-view [] - (GET "/inetorg/view" {:handler handler-inetorg-view})) - -;; inetorg-view-search - -(defn on-inetorg-view-search-clicked [] - (when (-> (jquery "#inetorg-view-search-form") - (.get "0") - (.checkValidity)) - (render-inetorg-view-results))) - -(hiccups/defhtml template-inetorg-view-search [jsonobj] - (ck-form/template-generic-form (get jsonobj "form") (namespace ::x))) - -(defn handler-inetorg-view-search [response] - (let [jsonobj (js->clj (js/JSON.parse response))] - (auth-notifications jsonobj) - (dommy/set-html! (dommy/sel1 :#search) (template-inetorg-view-search jsonobj)) - (render-inetorg-view-results))) - -(defn render-inetorg-view-search [] - (GET "/inetorg/view/search" {:handler handler-inetorg-view-search})) - -;; inetorg-view-results - -(hiccups/defhtml template-inetorg-view-results [jsonobj] - [:table {:class "table table-hover"} - [:thead - [:tr - [:th "givenName"] - [:th "sn"] - [:th "mail"] - [:th "postalAddress"] - [:th "postalCode"] - [:th "st"] - [:th "l"] - [:th "telephoneNumber"] - [:th "mobile"] - [:th "businessCategory"] - [:th "Del"]]] - [:tbody - (for [ldap-user (get jsonobj "results")] - (let* [cn (str (get ldap-user "givenname") " " (get ldap-user "sn")) - onclick (str (namespace ::x) ".on_inetorg_modify_clicked('" cn "')")] - [:tr - [:td {:onclick onclick} (get ldap-user "givenname")] - [:td {:onclick onclick} (get ldap-user "sn")] - [:td {:onclick onclick} (get ldap-user "mail")] - [:td {:onclick onclick} (get ldap-user "postaladdress")] - [:td {:onclick onclick} (get ldap-user "postalcode")] - [:td {:onclick onclick} (get ldap-user "st")] - [:td {:onclick onclick} (get ldap-user "l")] - [:td {:onclick onclick} (get ldap-user "telephonenumber")] - [:td {:onclick onclick} (get ldap-user "mobile")] - [:td {:onclick onclick} (get ldap-user "businesscategory")] - [:td [:img {:src "/static/images/edit-delete.png" - :onclick (str (namespace ::x) ".on_inetorg_delete_clicked('" cn "')")}]]]))]]) - -(defn handler-inetorg-view-results [response] - (let [jsonobj (js->clj (js/JSON.parse response))] - (auth-notifications jsonobj) - (dommy/set-html! (dommy/sel1 :#results) (template-inetorg-view-results jsonobj)))) - -(defn render-inetorg-view-results [] - (POST "/inetorg/view/results" {:format :raw - :params {:givenname (dommy/value (dommy/sel1 :#view-givenname)) - :sn (dommy/value (dommy/sel1 :#view-sn)) - :mail (dommy/value (dommy/sel1 :#view-mail)) - :postaladdress (dommy/value (dommy/sel1 :#view-postaladdress)) - :postalcode (dommy/value (dommy/sel1 :#view-postalcode)) - :st (dommy/value (dommy/sel1 :#view-st)) - :l (dommy/value (dommy/sel1 :#view-l)) - :telephonenumber (dommy/value (dommy/sel1 :#view-telephonenumber)) - :mobile (dommy/value (dommy/sel1 :#view-mobile)) - :businesscategory (dommy/value (dommy/sel1 :#view-businesscategory))} - :handler handler-inetorg-view-results})) - -;; inetorg-modify - -(defn on-inetorg-modify-clicked [cn] - (render-inetorg-modify cn)) - -(hiccups/defhtml template-inetorg-modify [jsonobj] - (ck-form/template-generic-form (get jsonobj "form") (namespace ::x))) - -(defn handler-inetorg-modify [response] - (let [jsonobj (js->clj (js/JSON.parse response)) - jquery (js* "$")] - (auth-notifications jsonobj) - (dommy/set-html! (dommy/sel1 :#modify-body) (template-inetorg-modify jsonobj)) - (doseq [[name value] (get jsonobj "ldapUserValues")] - (dommy/set-value! (dommy/sel1 (keyword (str "#modify-" name))) value)) - (.modal (jquery "#modify")))) - -(defn render-inetorg-modify [cn] - (POST "/inetorg/modify" {:format :raw - :params {:cn cn} - :handler handler-inetorg-modify})) - -;; inetorg-modify-submit - -(defn on-inetorg-modify-submit-clicked [] - (.modal (jquery "#modify") "hide") - (render-inetorg-modify-submit)) - -(defn handler-inetorg-modify-submit [response] - (let [jsonobj (js->clj (js/JSON.parse response))] - (auth-notifications jsonobj) - (on-menu-clicked "/inetorg/view"))) - -(defn render-inetorg-modify-submit [] - (POST "/inetorg/modify/submit" {:format :raw - :params {:givenname (dommy/value (dommy/sel1 :#modify-givenname)) - :sn (dommy/value (dommy/sel1 :#modify-sn)) - :mail (dommy/value (dommy/sel1 :#modify-mail)) - :postaladdress (dommy/value (dommy/sel1 :#modify-postaladdress)) - :postalcode (dommy/value (dommy/sel1 :#modify-postalcode)) - :st (dommy/value (dommy/sel1 :#modify-st)) - :l (dommy/value (dommy/sel1 :#modify-l)) - :telephonenumber (dommy/value (dommy/sel1 :#modify-telephonenumber)) - :mobile (dommy/value (dommy/sel1 :#modify-mobile)) - :businesscategory (dommy/value (dommy/sel1 :#modify-businesscategory))} - :handler handler-inetorg-modify-submit})) - -;; inetrog-delete - -(defn on-inetorg-delete-clicked [cn] - (render-inetorg-delete cn)) - -(hiccups/defhtml template-inetorg-delete [jsonobj] - [:p (str "Are you sure you want to delete the InetOrg entry: " (get jsonobj "cn"))] - [:p "This action cannot be undone."] - [:button {:type "button" - :data-dismiss "modal" - :onclick (str (namespace ::x) ".on_inetorg_delete_submit_clicked('" (get jsonobj "cn") "')")} - "Delete InetOrg Entry"]) - -(defn handler-inetorg-delete [response] - (let [jsonobj (js->clj (js/JSON.parse response)) - jquery (js* "$")] - (auth-notifications jsonobj) - (dommy/set-html! (dommy/sel1 :#delete-body) (template-inetorg-delete jsonobj)) - (.modal (jquery "#delete")))) - -(defn render-inetorg-delete [cn] - (POST "/inetorg/delete" {:format :raw - :params {:cn cn} - :handler handler-inetorg-delete})) - -;; inetrog-delete-submit - -(defn on-inetorg-delete-submit-clicked [cn] - (render-inetorg-delete-submit cn)) - -(defn handler-inetorg-delete-submit [response] - (let [jsonobj (js->clj (js/JSON.parse response))] - (auth-notifications jsonobj) - (on-menu-clicked "/inetorg/view"))) - -(defn render-inetorg-delete-submit [cn] - (POST "/inetorg/delete/submit" {:format :raw - :params {:cn cn} - :handler handler-inetorg-delete-submit})) - -;; inetrog-add - -(hiccups/defhtml template-inetorg-add [jsonobj] - (ck-form/template-generic-form (get jsonobj "form") (namespace ::x))) - -(defn handler-inetorg-add [response] - (let [jsonobj (js->clj (js/JSON.parse response))] - (auth-notifications jsonobj) - (dommy/set-html! (dommy/sel1 :#body) (template-inetorg-add jsonobj)))) - -(defn render-inetorg-add [] - (GET "/inetorg/add" {:handler handler-inetorg-add})) - -;; inetorg-add-submit - -(defn on-inetorg-add-submit-clicked [] - (when (-> (jquery "#inetorg-add-form") - (.get "0") - (.checkValidity)) - (render-inetorg-add-submit))) - -(defn handler-inetorg-add-submit [response] - (let [jsonobj (js->clj (js/JSON.parse response))] - (auth-notifications jsonobj) - (notifications jsonobj) - (on-menu-clicked "/inetorg/view"))) - -(defn render-inetorg-add-submit [] - (POST "/inetorg/add/submit" {:format :raw - :params {:givenname (dommy/value (dommy/sel1 :#add-givenname)) - :sn (dommy/value (dommy/sel1 :#add-sn)) - :mail (dommy/value (dommy/sel1 :#add-mail)) - :postaladdress (dommy/value (dommy/sel1 :#add-postaladdress)) - :postalcode (dommy/value (dommy/sel1 :#add-postalcode)) - :st (dommy/value (dommy/sel1 :#add-st)) - :l (dommy/value (dommy/sel1 :#add-l)) - :telephonenumber (dommy/value (dommy/sel1 :#add-telephonenumber)) - :mobile (dommy/value (dommy/sel1 :#add-mobile)) - :businesscategory (dommy/value (dommy/sel1 :#add-businesscategory))} - :handler handler-inetorg-add-submit})) - -;; location - -(defn on-menu-clicked [handler] - (dommy/set-html! (dommy/sel1 :#location) handler) - (render-menu) - (cond (= handler "/home") (render-home) - (= handler "/login") (render-login) - (= handler "/login/authenticate") (render-login-authenticate) - (= handler "/logout") (render-logout) - (= handler "/inetorg/view") (render-inetorg-view) - (= handler "/inetorg/add") (render-inetorg-add))) - -(defn handler-location [response] - (let [jsonobj (js->clj (js/JSON.parse response))] - (on-menu-clicked (get jsonobj "location")) - (notifications jsonobj))) - -(defn goto-location [location] - (POST "/location" {:format :raw - :params {:location location} - :handler handler-location})) |
