= !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) * Volunteer Record (if they request it & Admin agrees) * Member Record (if they request it & Admin agrees) * Membership of auth_groups (Roles) * minimally AUTHENTICATED * Membership of pr_groups (Teams, Mailing Lists) * Contacts * minimally EMAIL * Extra fields (as per configuration) == Requirements == * a deployment_setting to control what type of records (Staff, Vol, Member, etc) can be created for a new user * allow a URL var to be used to automatically determine the type of record to be created for that user, and hide the widget on the registration form * Show the administrator what types of records will be created for the user when they are approved. * 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 == * auth_user record would have to contain some sort of tracking of what types of records are linked to it. * s3_link_user would be extended to link the user to the different types of records == 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 * Populate sites widget from Organisation * Option to choose to create Staff or Volunteer * Email & Mobile -> Use Inline Form framework (when complete) * Multiple OrgAdmin approvers & asyn 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 ---- BluePrints