Skip to content

Officers

Josh edited this page Jul 2, 2024 · 8 revisions

The Officers Plugin helps manage and maintain a healthy roster of a kingdom's officers. The system can help report and find vacancies along with make clear when an officers warrant ends or expires.

It also helps the members by building a resume of offices a member has held over time.

erDiagram
    app_settings {
        datetime created 
        int created_by 
        int id PK 
        datetime modified 
        int modified_by 
        varchar name UK 
        varchar value 
    }

    branches {
        datetime created 
        int created_by 
        datetime deleted 
        int id PK 
        int lft 
        varchar location 
        datetime modified 
        int modified_by 
        varchar name UK 
        int parent_id FK 
        int rght 
    }

    member_roles {
        int approver_id FK 
        datetime created 
        int created_by 
        datetime expires_on 
        int granting_id 
        varchar granting_model 
        int id PK 
        int member_id FK 
        datetime modified 
        int modified_by 
        int revoker_id 
        int role_id FK 
        datetime start_on 
    }

    members {
        longtext additional_info 
        date background_check_expires_on 
        int birth_month 
        int birth_year 
        int branch_id FK 
        varchar city 
        datetime created 
        int created_by 
        datetime deleted 
        varchar email_address UK 
        int failed_login_attempts 
        varchar first_name 
        int id PK 
        datetime last_failed_login 
        datetime last_login 
        varchar last_name 
        varchar membership_card_path 
        date membership_expires_on 
        varchar membership_number 
        varchar middle_name 
        varchar mobile_card_token 
        datetime modified 
        int modified_by 
        int parent_id 
        varchar password 
        varchar password_token 
        datetime password_token_expires_on 
        varchar phone_number 
        varchar sca_name 
        varchar state 
        varchar status 
        varchar street_address 
        int verified_by 
        datetime verified_date 
        varchar zip 
    }

    notes {
        int author_id 
        text body 
        timestamp created 
        int id PK 
        tinyint private 
        varchar subject 
        int topic_id 
        varchar topic_model 
    }

    permissions {
        datetime created 
        int created_by 
        datetime deleted 
        int id PK 
        tinyint is_super_user 
        tinyint is_system 
        datetime modified 
        int modified_by 
        varchar name UK 
        tinyint require_active_background_check 
        tinyint require_active_membership 
        int require_min_age 
        tinyint requires_warrant 
    }

    roles {
        datetime created 
        int created_by 
        datetime deleted 
        int id PK 
        datetime modified 
        int modified_by 
        varchar name UK 
    }

    roles_permissions {
        timestamp created 
        int created_by 
        int id PK 
        int permission_id FK 
        int role_id FK 
    }
    branches }o--|| branches : "parent_id"
    members }o--|| branches : "branch_id"
    member_roles }o--|| members : "approver_id"
    member_roles }o--|| members : "member_id"
    member_roles }o--|| roles : "role_id"
    roles_permissions }o--|| permissions : "permission_id"
    roles_permissions }o--|| roles : "role_id"
Loading

Pages

  • Config / Departments
  • Config / Offices
  • Reports / Dept. Officer Roster

Details added to views

  • Branch: List of required offices and current officer (if there is one)

Tabs that show activity data

  • Member View: Offices Tab
  • Branch: Officers Tab

Other Integrations

  • No other integrations

Departments

image Departments are a used to group officers into logical groups.

Fields:

  • Name: Required to be unique
  • List of Offices: List of Offices associated with the Department.

Offices

image Offices are the various jobs that need to be tracked and managed in a kingdom

Fields:

  • Name: Name of the Office
  • Department: The department the office is associated to
  • Term: The default number of years an Office is expected to be held
  • Required: flag for if the office is required (shows up on branch details when required)
  • Skip Report: by default an officers report is the same office one level up in the branch hierarchy. Skip Reporting means that if there is not currently an officer assigned the report will skip until it finds an officer assigned or will use the kingdom office.
  • Warrant: Flag used for reporting if the office requires a warrant or not
  • One Per Branch: Flag to limit assigning more than 1 of these offices to each branch
  • Deputy To: who the office is a deputy to if they are a deputy.
  • Grants Role: The role a member is granted while they are active in the office.

Assigning an Officer

image

To assign an officer go to the Branch for which the officer will be volunteering and click the "Assign Officer Button". Once you have picked the office, look up the member and then set the start date. (An unset start date will start the officer today).

If the office is "One per Branch" the current office holder's end date will be set to the start date of the new officer.

Assigning a Deputy

image Deputies are the same as officers except a few extra fields are shown. First off a Deputy can have a description to help delineate their responsibilities. Deputies also have both start and end dates as many deputies are short run offices (like an Event Steward who's deputy responsibilities ends shortly after an event.)

Clone this wiki locally