Skip to content

Organizations & Posts

Organizations and posts do not decide which menus a user can open. They decide whose data a user can see inside those menus. They are the foundation of Erupt's data permissions.

Organization Management

Maintains a tree of companies / departments / teams at any depth. Navigation expands five levels by default.

FieldDescription
Org CodeUnique key
Org NameDisplay name
Parent OrgEmpty means top level
Display OrderSort among siblings

The left panel of User Management is this tree. Selecting a node filters its users.

Post Management

A post describes a user's rank inside the organization.

FieldDescription
Post CodeUnique key
Post NameDisplay name
Post WeightHigher means more senior. Used for "seniors see juniors' data" comparisons

A user must have an organization before a post can be set.

Data Visibility

Extend one of these base classes and Erupt appends a filter to every query, and fills in creator, create time, updater and update time on add / edit. Super admins are never filtered.

Base classNon-admins see
LookerSelfRows they created
LookerOrgRows whose creator is in the same organization
LookerPostLevelRows they created, or rows from the same organization whose creator has a lower post weight
java
@Erupt(name = "Customer")
@Entity
@Table(name = "biz_customer")
public class Customer extends LookerOrg {
    // only business fields here; creator / org / timestamps come from the base class
}
  • LookerOrg requires the current user to have an organization, LookerPostLevel requires both organization and post. Otherwise the query fails with a clear message.
  • The filter is injected through @PreDataProxy and stacks with your own DataProxy, see PreDataProxy.
  • The creator appears in the table automatically as name / org / post columns with no extra declaration.

Responsible and Supervising Orgs

Users also carry two multi-select fields, Responsible Org and Supervising Org. They do not take part in the query filters above. They serve approval scenarios: when erupt-flow resolves a "department head" or "supervising leader" node, it walks up the initiator's org tree and picks the users responsible for, or supervising, that organization.

Contributors

The avatar of contributor named as YuePeng YuePeng
The avatar of contributor named as Claude Opus 5 (1M context) Claude Opus 5 (1M context)

Changelog

Released under the Apache-2.0 License.