Commit Graph

9 Commits

Author SHA1 Message Date
Ali 4d628576c7 feat(desk): expand layout config with block/hide rules + silk bg asset
- desk_layout.json: add blocked_doctypes and per-workspace hide/block
  rules across Assets, Buying, Invoicing, Manufacturing, Payroll,
  Recruitment, Selling, Stock (+ Landed Cost Voucher inject/order)
- add silk-bg.jpg (referenced by jey_theme.bundle.css)
- CLAUDE.md: doc updates

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 14:17:52 +00:00
Ali dc36d3d46a fix(desk): full icon captions — no ellipsis, no collision
Frappe renders the desktop icon caption as a single nowrap + ellipsis line in a
127px cell, which broke two ways on long (az/ru) module names:

- main desk: .icon-caption is shrink-to-fit, so it grew past its cell and the
  ellipsis never triggered — the label spilled into the neighbouring icon.
- folder modal: our own -webkit-line-clamp:2 + ellipsis cut the label ("…").

Captions now take the full cell width and wrap over as many lines as they need;
the cell grows taller instead of overflowing. Cells widen to 152px above 1060px
(below that the 6-col grid is already at the viewport edge, so the stock width
stays); mobile is untouched. The folder modal card now sizes to its icon grid —
Bootstrap capped the dialog width, so the widened last column hung outside it.

Also carries the in-progress theme rename (modern → silk) in the JS bundle,
CLAUDE.md and az locale.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-14 10:23:57 +00:00
Ali 712d54b6e7 feat: enforce config doctype-block via permission hooks (SM-proof)
Move config-driven doctype blocking off before_request onto the permission
system so a System Manager cannot undo it from the UI:

- permission_query_conditions ("*") returns 1=0 for prod-blocked doctypes
  -> list views come back empty for everyone but Administrator.
- has_permission denies every per-doc op (read/create/write/delete).
- extend_bootinfo strips blocked doctypes from user.can_*.

Doctypes are deliberately NOT blocked at before_request: a blunt URL/API
block breaks search_link/dynamic links, while permission hooks are bypassed
by ignore_permissions so internal/framework reads keep working.

Split desk_layout gating: the visual overlay stays gated on is_enforcing();
access-block accessors (prod_blocked_*) gate on 'not is_design_mode()' so a
block only bites on production (the design machine keeps full access).
Reports/pages/workspaces blocking unchanged (before_request + has_permission).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 16:22:03 +00:00
Ali d7af667d6e feat: design mode defaults on when jey_layout is installed
is_design_mode() now returns True automatically on machines where the jey_layout
editor app is installed (test/design machines), so site_config no longer needs
jey_design_mode. Production (jey_theme only) stays in always-enforce mode. An
explicit jey_design_mode in site_config still overrides (0/1).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 08:51:47 +00:00
Ali 3decdc6ae8 feat: desk layout engine for jey_layout (hide/block/add/reorder)
Non-destructive, server-side filtering/injection of desk workspaces/cards/links
driven by config/desk_layout.json. Adds desk_layout.py + desk_overrides.py,
extends access_control.py (Report/Page blocking, fail-open hooks), dynamically
loads the jey_layout editor in design mode, and documents the edge proxy
proxy_buffer_size gotcha in CLAUDE.md. Test snapshot cleared to empty.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 12:53:53 +00:00
Ali 0753a36275 workspace: fold invoice_az e-taxes doctypes into Taxes Az
Adds three new cards (E-Taxes Setup, Reference, Documents) under a
"E-Taxes & ƏMAS" header so Asan Login, E-Taxes Settings, and the rest
of the standalone invoice_az doctypes are reachable from the Taxes Az
workspace and sidebar.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 16:18:32 +00:00
Ali 953bf8b2c8 grids: polish child-table active/read-only cells; misc chrome polish
- Chrome theme: active grid row now visually matches the static row —
  flattened inputs, forced bottom border, padding match, pressed-in
  button-style effect on focused cells with smooth 0.45s transition.
- Read-only grid cells get a distinct lighter-grey bg only while their
  row is the active one (uses Frappe's display:none on .field-area).
- Button press animations: expanded shadow set + explicit transitions
  so press/release is symmetric and eased.
- Shared: fixed section-in keyframe leaving a stacking context that
  clipped Link autocomplete dropdowns; dropdown fade-out without
  Popper position reset; smooth sidebar expand to match collapse.
- JS: clip section overflow during collapse transition, restore after
  transitionend; freeze dropdown position during Bootstrap hide.
- CLAUDE.md: rewritten as Claude Code guidance doc.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 17:08:50 +00:00
Ali 513522efb8 full chrome metallic theme for entire app
Extended chrome theme from desktop icons only to the full ERPNext UI:
navbar, sidebar, buttons, inputs, forms, lists, tables, modals,
dropdowns, tabs, timeline, scrollbars. Uses 45° multi-stop reflective
gradients, beveled shadows, conic-gradient accents, and polished
metal body background.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 17:18:59 +00:00
Ali 37c4ccce88 new chromo ui with new features 2026-04-08 14:27:30 +00:00