Makes editing work correctly for non-admins
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
(ns auto-ap.ssr.components.aside
|
||||
(:require [auto-ap.client-routes :as client-routes]
|
||||
[auto-ap.logging :as alog]
|
||||
[auto-ap.permissions :refer [can?]]
|
||||
[auto-ap.routes.admin.clients :as ac-routes]
|
||||
[auto-ap.routes.admin.excel-invoices :as ei-routes]
|
||||
[auto-ap.routes.admin.import-batch :as ib-routes]
|
||||
[auto-ap.routes.outgoing-invoice :as oi-routes]
|
||||
[auto-ap.routes.admin.transaction-rules :as transaction-rules]
|
||||
[auto-ap.routes.admin.vendors :as v-routes]
|
||||
[auto-ap.routes.invoice :as invoice-route]
|
||||
[auto-ap.routes.outgoing-invoice :as oi-routes]
|
||||
[auto-ap.routes.payments :as payment-routes]
|
||||
[auto-ap.ssr-routes :as ssr-routes]
|
||||
[auto-ap.ssr.hiccup-helper :as hh]
|
||||
@@ -131,53 +131,56 @@
|
||||
:active? (= ::invoice-route/voided-page (:matched-route request))
|
||||
:hx-boost "true"}
|
||||
"Voided")
|
||||
(menu-button- {:href (bidi/path-for ssr-routes/only-routes
|
||||
::oi-routes/new)
|
||||
:active? (= ::oi-routes/new (:matched-route request))
|
||||
:hx-boost "true"}
|
||||
"Create outgoing"))
|
||||
(menu-button- {:href (bidi/path-for client-routes/routes
|
||||
:import-invoices)} "Import")
|
||||
#_(menu-button- {:href (bidi/path-for ssr-routes/only-routes
|
||||
::oi-routes/new)
|
||||
:active? (= ::oi-routes/new (:matched-route request))
|
||||
:hx-boost "true"}
|
||||
"Create outgoing"))
|
||||
|
||||
(menu-button- {:icon svg/receipt-register-1
|
||||
(when
|
||||
(can? (:identity request) {:subject :sales :activity :read})
|
||||
(list
|
||||
(menu-button- {:icon svg/receipt-register-1
|
||||
|
||||
"@click.prevent" "if (selected == 'sales') {selected = null } else { selected = 'sales'} "}
|
||||
"Sales")
|
||||
(sub-menu- {:selector "sales"
|
||||
:active? (= "sales" selected)}
|
||||
(menu-button- {:href (str (bidi/path-for ssr-routes/only-routes
|
||||
:pos-sales)
|
||||
"?date-range=week")
|
||||
:active? (= :pos-sales (:matched-route request))
|
||||
:hx-boost "true"}
|
||||
"Sales")
|
||||
(menu-button- {:href (str (bidi/path-for ssr-routes/only-routes
|
||||
:pos-expected-deposits)
|
||||
"?date-range=week")
|
||||
:active? (= :pos-expected-deposits (:matched-route request))
|
||||
:hx-boost "true"}
|
||||
"Expected Deposits")
|
||||
(menu-button- {:href (str (bidi/path-for ssr-routes/only-routes
|
||||
:pos-tenders)
|
||||
"?date-range=week")
|
||||
:active? (= :pos-tenders (:matched-route request))
|
||||
:hx-boost "true"}
|
||||
"Tenders")
|
||||
"@click.prevent" "if (selected == 'sales') {selected = null } else { selected = 'sales'} "}
|
||||
"Sales")
|
||||
(sub-menu- {:selector "sales"
|
||||
:active? (= "sales" selected)}
|
||||
(menu-button- {:href (str (bidi/path-for ssr-routes/only-routes
|
||||
:pos-sales)
|
||||
"?date-range=week")
|
||||
:active? (= :pos-sales (:matched-route request))
|
||||
:hx-boost "true"}
|
||||
"Sales")
|
||||
(menu-button- {:href (str (bidi/path-for ssr-routes/only-routes
|
||||
:pos-expected-deposits)
|
||||
"?date-range=week")
|
||||
:active? (= :pos-expected-deposits (:matched-route request))
|
||||
:hx-boost "true"}
|
||||
"Expected Deposits")
|
||||
(menu-button- {:href (str (bidi/path-for ssr-routes/only-routes
|
||||
:pos-tenders)
|
||||
"?date-range=week")
|
||||
:active? (= :pos-tenders (:matched-route request))
|
||||
:hx-boost "true"}
|
||||
"Tenders")
|
||||
|
||||
(menu-button- {:href (str (bidi/path-for ssr-routes/only-routes
|
||||
:pos-refunds)
|
||||
"?date-range=week")
|
||||
:active? (= :pos-refunds (:matched-route request))
|
||||
:hx-boost "true"}
|
||||
(menu-button- {:href (str (bidi/path-for ssr-routes/only-routes
|
||||
:pos-refunds)
|
||||
"?date-range=week")
|
||||
:active? (= :pos-refunds (:matched-route request))
|
||||
:hx-boost "true"}
|
||||
|
||||
"Refunds")
|
||||
(menu-button- {:href (str (bidi/path-for ssr-routes/only-routes
|
||||
:pos-cash-drawer-shifts)
|
||||
"?date-range=week")
|
||||
:active? (= :cash-drawer-shifts (:matched-route request))
|
||||
:hx-boost "true"}
|
||||
"Cash drawer shifts"))))
|
||||
|
||||
"Refunds")
|
||||
(menu-button- {:href (str (bidi/path-for ssr-routes/only-routes
|
||||
:pos-cash-drawer-shifts)
|
||||
"?date-range=week")
|
||||
:active? (= :cash-drawer-shifts (:matched-route request))
|
||||
:hx-boost "true"}
|
||||
"Cash drawer shifts"))
|
||||
;; TODO make specific routes for categories
|
||||
;; TODO auto-apen sub menus
|
||||
|
||||
(menu-button- {"@click.prevent" "if (selected == 'payments') {selected = null } else { selected = 'payments'} "
|
||||
:icon svg/payments}
|
||||
"Payments")
|
||||
@@ -224,26 +227,35 @@
|
||||
:requires-feedback-transactions)} "Client Review")
|
||||
(menu-button- {:href (bidi/path-for client-routes/routes
|
||||
:approved-transactions)} "Approved")
|
||||
(menu-button- {:href (bidi/path-for ssr-routes/only-routes
|
||||
:transaction-insights)} "Insights"))]
|
||||
(when (can? (:identity request)
|
||||
{:subject :transaction :activity :insights})
|
||||
(menu-button- {:href (bidi/path-for ssr-routes/only-routes
|
||||
:transaction-insights)} "Insights")))]
|
||||
|
||||
(menu-button- {"@click.prevent" "if (selected == 'ledger') {selected = null } else { selected = 'ledger'} "
|
||||
:icon svg/receipt}
|
||||
"Ledger")
|
||||
(sub-menu- {:selector "ledger"
|
||||
:active? (= "ledger" selected)}
|
||||
(menu-button- {:href (bidi/path-for client-routes/routes
|
||||
:ledger)} "Register")
|
||||
(menu-button- {:href (bidi/path-for client-routes/routes
|
||||
:profit-and-loss)} "Profit & Loss")
|
||||
(menu-button- {:href (bidi/path-for client-routes/routes
|
||||
:profit-and-loss-detail)} "Profit & Loss Detail")
|
||||
(menu-button- {:href (bidi/path-for client-routes/routes
|
||||
:cash-flows)} "Cash Flows")
|
||||
(menu-button- {:href (bidi/path-for client-routes/routes
|
||||
:balance-sheet)} "Balance Sheet")
|
||||
(menu-button- {:href (bidi/path-for client-routes/routes
|
||||
:external-import-ledger)} "External Ledger Import"))]))
|
||||
|
||||
(when (can? (:identity request)
|
||||
{:subject :ledger-page})
|
||||
(list
|
||||
(menu-button- {"@click.prevent" "if (selected == 'ledger') {selected = null } else { selected = 'ledger'} "
|
||||
:icon svg/receipt}
|
||||
"Ledger")
|
||||
(sub-menu- {:selector "ledger"
|
||||
:active? (= "ledger" selected)}
|
||||
(menu-button- {:href (bidi/path-for client-routes/routes
|
||||
:ledger)} "Register")
|
||||
(menu-button- {:href (bidi/path-for client-routes/routes
|
||||
:profit-and-loss)} "Profit & Loss")
|
||||
(menu-button- {:href (bidi/path-for client-routes/routes
|
||||
:profit-and-loss-detail)} "Profit & Loss Detail")
|
||||
(menu-button- {:href (bidi/path-for client-routes/routes
|
||||
:cash-flows)} "Cash Flows")
|
||||
(menu-button- {:href (bidi/path-for client-routes/routes
|
||||
:balance-sheet)} "Balance Sheet")
|
||||
(when (can? (:identity request)
|
||||
{:subject :ledger
|
||||
:activity :import})
|
||||
(menu-button- {:href (bidi/path-for client-routes/routes
|
||||
:external-import-ledger)} "External Ledger Import")))))]))
|
||||
|
||||
|
||||
(defn company-aside-nav- [_]
|
||||
@@ -330,7 +342,7 @@
|
||||
:active? (= :admin-rules matched-route)
|
||||
:href (bidi/path-for ssr-routes/only-routes
|
||||
:admin-history)
|
||||
:hx-boost "true" }
|
||||
:hx-boost "true"}
|
||||
"History")]
|
||||
|
||||
[:li
|
||||
@@ -342,9 +354,10 @@
|
||||
"Background Jobs")]
|
||||
|
||||
|
||||
(menu-button- {:icon svg/arrow-in
|
||||
"@click.prevent" "if (selected == 'import') {selected = null } else { selected = 'import'} "}
|
||||
"Import")
|
||||
(when (can? (:identity request) {:subject :invoice :activity :import})
|
||||
(menu-button- {:icon svg/arrow-in
|
||||
"@click.prevent" "if (selected == 'import') {selected = null } else { selected = 'import'} "}
|
||||
"Import"))
|
||||
|
||||
(sub-menu- {:selector "import"}
|
||||
(menu-button- {:href (bidi/path-for ssr-routes/only-routes
|
||||
@@ -356,10 +369,10 @@
|
||||
(menu-button- {:href (bidi/path-for ssr-routes/only-routes
|
||||
::ib-routes/page)
|
||||
:active? (= ::ib-routes/page matched-route)
|
||||
:hx-boost true}
|
||||
:hx-boost true}
|
||||
"Import Batches")
|
||||
(menu-button- {:href (bidi/path-for ssr-routes/only-routes
|
||||
:admin-ezcater-xls)
|
||||
:active? (= :admin-ezcater-xls matched-route)
|
||||
:hx-boost "true"}
|
||||
:hx-boost "true"}
|
||||
"EZCater XLS Import"))])
|
||||
|
||||
@@ -20,8 +20,7 @@
|
||||
:hx-swap "outerHTML"
|
||||
:hx-target-400 "#form-errors .error-content"
|
||||
:hx-trigger "submit"
|
||||
:hx-target "this"
|
||||
"x-trap" "true"})
|
||||
:hx-target "this" })
|
||||
|
||||
(defprotocol ModalWizardStep
|
||||
(step-key [this])
|
||||
|
||||
Reference in New Issue
Block a user