Coder Social home page Coder Social logo

mohamedabdulsalam96 / workspaceperms Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pstuhlmueller/workspaceperms

1.0 0.0 0.0 22 KB

Manage the availability of workspaces within Frappe/ ERPNext (sidebar) based on user-roles

License: GNU General Public License v3.0

JavaScript 2.17% Python 97.83%

workspaceperms's Introduction

Workspace Permissions

Manage the availability of workspaces within Frappe/ ERPNext (sidebar) based on user-roles.

Features

Configure foreach workspace, which roles can access / can not access a workspace

  • As a whitelist (means, we manage roles, that get access) -> “Visible To Roles”
  • As a blacklist (means, we manage roles, that can NOT get access) -> “Hidden to Roles”
  • Special handling for the "Administrator"-User, as we don't want to restrict anything for that user.
    • That user won't get affected by the configuration, even if he has one of the black-listed roles assigned
  • Hide section-names, if there are no more workspaces available for the same

ATTENTION This app will only work with a modification to the Frappe-Core, frappe/frappe/boot.py. Right now there is no other option to get this functionality integrated.

We have included a script that will "Monkey Patch" the relevant file/method. There is no need to manually modify any file. Therefore it is also no big deal to update Frappe later on - after updating (what would remove the modification), you just need to make sure to execute the given "seeds" once again.

Dependency

  • Frappe/ ERPNext v13

Install on Self-Hosted

Remeber to replace MY_SITE with your site name.

cd frappe-bench
bench get-app https://github.com/pstuhlmueller/workspaceperms.git
bench --site MY_SITE install-app workspaceperms
# This will do the modification within frappe/frappe/boot.py
bench execute workspaceperms.seeds.execute
# You need to run `bench restart` once, as otherwise the modification to boot.py won't take effect
bench restart

Configuration

  1. Go (via awesomebar) into "Workspace Perms List"
  2. Add a new Workspace Perms document
  3. Select the relevant workspace
  4. Set the permissions ("Visible To Roles" and/or "Hidden to Roles") as relevant for your scenario

Hint: Instead of manually adding each Workspace Perm manually, you could also think about preparing a xlsx-file and go with the "Data Import"..

License

GPLv3

workspaceperms's People

Contributors

pstuhlmueller avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.