= !BluePrint: User Management = [[TOC]] == Introduction == !BluePrints for User Registration and Management. This functionality is already well developed in Sahana Eden and this page is primarily a place to record additional desired enhancements. == Description == == Use-Cases == When a User registers and is approved, Sahana will automatically create them: * Staff Record (if they request it & Admin agrees) (IMPLEMENTED) * Volunteer Record (if they request it & Admin agrees) (IMPLEMENTED) * Member Record (if they request it & Admin agrees) (IMPLEMENTED) * Membership of auth_groups (Roles) (IMPLEMENTED) * minimally AUTHENTICATED (IMPLEMENTED) * Membership of pr_groups (Teams, Mailing Lists) (IMPLEMENTED) * Contacts (IMPLEMENTED) * minimally EMAIL (IMPLEMENTED) * Extra fields (as per configuration) == Requirements == * Extra fields to collect (configurable - possibly included in above deployment_setting & possibly a separate one), e.g.: * Disclaimer(s) - just a client-side JS requirement to tick box before submit * Organisation - unless in email domain * Facility (org_site) * Mailing Lists (pr_group memberships) * Contacts (Mobile Phone, Landline, Twitter, Skype, etc) * Address * Date of Birth * Skills * Comments (e.g. ‘Why should you be given access?’) == Design == == Implementation == * DeveloperGuidelines/UserManagement * UserGuidelines/Admin/UserManagement == To Do == * Don't force re-entry of password for Admin (or use a different screen for just changing the password?) on user update * Approve email should contain link to the specific User page * Email & Mobile -> Use Inline Form framework (when complete) * Multiple OrgAdmin approvers & async send of emails * Move all auth.settings & auth.messages to deployment_settings * Write Automated tests (DeveloperGuidelines/Testing) for the following workflows: * Register with settings: * Verify & Approve * Verify & Approve with Mobile & image * Not Verify & Approve * Not Verify or Approve * Register an existing Person * Create User * with Mobile & image * Create User for an existing person * Update User * Update Person * Update HR * Import Users w/o Organisation * Import Users as staff - these should link the organisations * Roles being imported multiple times * Assign Staff to Sites * Roles tab on HRM - Role not displayed correctly