frappe / erpnext

Free and Open Source Enterprise Resource Planning (ERP)
https://erpnext.com
GNU General Public License v3.0
21.85k stars 7.33k forks source link

Add department manager as workflow state users #31820

Open saintstarrow opened 2 years ago

saintstarrow commented 2 years ago

In many workflow scenarios, the department manager of the user who initiates a workflow instance needs to approve the instance. This type of approvers cannot be set using roles. Added this feature can also eliminate the current fields that are used to set the HR workflow approvers, e.g. leave application approvers, and make more custom workflows possible. In such HR workflows, the first level approvers are normally the department managers. This feature is available in many dedicated workflow applications. It might be easier to integrate an existing workflow library than developing it from scratch. I have more feature requests about workflow which would make the system a more powerful platform on whcih to develop custom applications.

007ke commented 1 year ago

IMO the current user roles and permission structure is missing a key feature which is user groups (similar to teams in microsoft365 architecture). The flow should be that when one creates a 'Team'. This can have a cascading structure with a parent-child relation so one can create a complete Org Chart and name / rename this as an Org Chart in the Workspace. This way one can create multiple worskspaces to create multiple layouts of Org Charts / Teams. The teams will be cascading with team user roles like 'owner / admin', 'manager', 'team leader', 'team member', 'external / portal user' with cascading rights inherited (and can be configured micro-level access rights and permissions to the team user roles.

This way, the 'owner' of a team (or cascaded teams) say in Sales & Marketing can be a team member in another team (or cascaded teams) say Manufacturing or say Accounting.

Also the teams will define the apps or modules that the user has right to for own created docs or for other team member docs or for other DOWNLINE team member docs (if cascaded teams is present at the parent level).

This way ... a user group (teams) is first defined in the Org Chart (workspace) and then users are added (as to their roles and permissions) and apps / modules / features are added to the team at either parent level or child and grand-child level and be dynamically managed

In my opinion .... this is more to be done at the Frappe Framework and not at the App level