Pengin-Open-Source / pengin-pi

PENGIN PI! A CRM with the back bone of a feature light ERP system. Utilitarian in design, easy to extend, customize, and deploy. Made by a community, supported by Tobu Pengin.
GNU General Public License v3.0
9 stars 1 forks source link

additional groups for principles[FEATURE] #409

Closed stuart909 closed 5 months ago

stuart909 commented 10 months ago

Explanation This feature will add the following groups to the baseline CRM:

Brief We need to add some baseline groups to flask principles in the security section of the application and update the installation script to implement the groups. We will be adding permissions for views specific to the type of user leveraging the CRM.

Outline Applicant: applicants are users that potentially leverage the CRM to apply for jobs. If the feature is enabled and jobs listed, users will be able to become applicants if they apply for jobs. The user group will need to be made for applicants, which will enable specific views in the user's profile and nav menu.

Employee: Differs from company member. An employee is a user group for all users that are flagged by admin or manager to be members of the CRM owner's company. This differs from employees of companies registered in the CRM, which are simply member objects of a group object. In this case, we are creating a group object for a group role that will enable specific views for all employees. More views will be added later to better emphasize managers, sales, marketing, support, etc.

Customer: create a customer group so all users assigned to an order or member of a company with orders will be a customer. We will have to create special logic that additionally checks if the user has an order of if the user's company has an order, and if true, then the user is customer. This will unlock customer specific views that will allow viewing of all orders and links to generate support tickets for the order. We have no plans to create a store page for the CRM at the moment. This feature is fully post sales.

Vendor: Add a vendor group that creates a specific user role for vendors and partners. The vendor/partner will be able to manage their company, create support tickets, and have access to their own support forum and messaging. Most users will have this access if properly registered, but the vendor will have specific thematic links and data entry to engage or be engaged with the CRM owner.