Skip to content

User invitations #124

@killua-eu

Description

@killua-eu

We want to add the possibility to invite users. We want two ways to get around this, we'll need to

  • relate contacts and users tables via t_rel_contacts_users, with c_contacts_id, c_users_id columns
  • document that all other relation tables are to have the name t_rel_table1_table2
  • ensure that users don't get reinvited
  • ensure that a reasonable number of invitation emails is sent
  • switch for roots to allow anyone to create an account or to have an invite-only based account creation (under a new route permissions/invite)

to send actual invites, use phpmailer (already installed). Sending invites should be possible from

  • from contacts/$id by clicking an invite button (visible only to those, who are allowed to invite), if the user doesnt already have an existing account (you get that from t_rel_contacts_users). if contact already has an account, display the user's screen name within glued. To people with root permissions, a link to the users profile should be there as well. Route should be permissions/users/$userid/profile

  • from permissions/invite

    • new submenu, visible only to those, who have permissions to invite. by default show to roots
    • when working there, also add add two more left menu items: systemwide, developers that link to the corresponding permissions routes (and remove the links from the content twig)
    • the permissions/invite will have a generate invite link button with a definable expiration time (select: `i.e. 5 minutes; 30 minutes, 2hours, 6hours, 1day, 2days). signup form will be shown only to those who use the link before it expires.

an autosuggest box that will query against contacts and users tables (name, address, email, phone field) and suggest name - email address pairs on typing. Typing out an e-mail address that's not in glued contacts/users table should be possible, typing an already existing address would show the name and email in case that the address is found in contacts, and will display name and email address and disable the input if found in users table (prevent reinviting users already present). Typing an nonexisting email address will change the text to "create contact and invite" .. the email address will be prefilled into a new contactid, the contactid will be opened to be filled in and the invite button clicked.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions