Skip to content

Stewards & Members

The Stewards app (obed.stewards) manages the profiles of people who serve in the church. It separates the concept of a "User" (Authentication) from a "Steward" (Service Profile).

Concept: Users vs. Stewards

The system uses a two-model approach to handle people:

  1. User (obed.users.User):

    • Handles authentication (Email/Password).
    • Grants access to the system (Groups, Permissions).
    • Required for logging in.
  2. Steward (obed.stewards.Steward):

    • Represents a person in the context of scheduling.
    • Stores personal details (Name, Phone, Title).
    • Tracks service preferences (Responsibilities, Notification settings).
    • Can exist without a User account (e.g., Guest Preachers).

Why the separation?

  • Guest Speakers: You can schedule a visiting preacher (creating a Steward record) without forcing them to create an account or giving them login access.
  • Data Integrity: If a user deletes their account, the Steward record (and historical assignment data) can be preserved.

Models

Steward

The core profile model.

FieldDescription
userLink to User model (optional).
first_name / last_nameName of the person.
emailContact email.
phoneContact phone (required for SMS).
is_guestBoolean flag for non-members.
titleHonorific (e.g., "Pastor", "Dr.").
office(Property) Derived from User groups ("Elder", "Deacon").
notify_emailOpt-in for email notifications.
notify_smsOpt-in for SMS notifications.
responsibilitiesMany-to-Many link to Responsibility.

Responsibility

Represents a role or spiritual gift that a steward is qualified for.

  • Examples: "Preaching", "Song Leading", "Ushering".
  • Usage: Used to filter the list of available stewards when filling a slot in a schedule.

Management

Creating a Steward

Stewards can be created via the Admin interface or the Stewards management view (/stewards/).

  • Members: Usually created automatically or manually linked when a User registers.
  • Guests: Created manually by Admins when needed for a schedule.

Notification Preferences

Each Steward controls their notification channels:

  • If notify_email is False, the system will skip email generation for them.
  • If notify_sms is False (or phone is missing), SMS will be skipped.