mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-11 18:26:50 +00:00
Page:
Permissions
Pages
API Development
API documentation
Angular and OFN
Authentication
Automated Testing Gotchas
Bug severity
Bulk Edit Products admin interface
Code, the way we do things (2018)
Code Conventions
Code review process
Configuration
Continuous Integration
Creating new components
DFC Guide
Data initialization bootstrapping, seeding, and importing data
Data migration
Data model diagram (ERD)
Database migrations
Dependency updates
Design styleguide: colors and shadows
Design styleguide: fonts and text styles
Design styleguide: icons
Design styleguide: links and buttons
Design styleguide: navigation and menus
Design styleguide: size and spacing
Design styleguide: tables
Design tools
Developer Guidelines
Developer Manual
Development Environment Setup: Debian
Development Environment Setup: Fedora
Development Environment Setup: OS X (El Capitan)
Development Environment Setup: OS X (Mavericks)
Development Environment Setup: OS X
Development Environment Setup: Ubuntu
Development Environment Setup: Windows
Development Environment Setup: macOS (Sierra, HighSierra, Mojave and Catalina)
Docker: useful tips and commands
Emails
Enterprises login
Feature Testing Handbook
Feature template (epic)
Feature toggle with Flipper
Feature toggles
Home
How to do Code Reviews
Integration & API
Internationalisation (i18n)
Karma
Learning Rails
Locale and sample data
Making a great commit
Making a great pull request
Maps
Matomo Integration
Mexico
Overview
Parallelized test suite with knapsack
Patch Releases
Permissions
Pipeline development process
Product amounts units
Release testing automation
Releasing
Rubocop
Sales Tax
Set and Deploy on Heroku
Setting up Stripe in your local environment
Setting up Stripe on an OFN instance
Skylight setup
Slack notifications from GitHub
Spree Commerce customisation
Staging with Github Actions
Stimulus
Stripe testing
Stripe
Tech Doc: App Routes
Tech Doc: Checkout workflow
Tech Doc: OFN's Spree fork🍴
Tech Doc: OFN Data Model Single shipment per Order
Tech Doc: OFN Data Model Stock locations
Tech Doc: OFN Data Model
Tech Doc: Orders and Adjustments updates
Tech Doc: Scoping Variants and Products to Hubs with VariantOverrides
Testing GitHub Actions Locally with act
Testing Subscriptions
Testing and Rspec Tips
Testing process
The process of review, test, merge and deploy
Troubleshooting your instance
Turbo
Variant Overrides
Who
i18n
Clone
2
Permissions
David Cook edited this page 2024-01-12 13:45:10 +11:00
Table of Contents
Users have permission to view and update resources based on certain rules.
Generally, these rules are defined in the Permissions class, which provides methods to retrieve data based on the current user's permissions.
An additional layer is provided by the gem CanCanCan, which has rules defined in the Ability class. Many of these rules use Permissions or other scopes to check access.
The ResourceController automatically checks for permission on each action, and can be called directly for a class or instance, for example:
can?(:admin, EnterpriseFee) && can?(:manage_enterprise_fees, enterprise)
See the CanCanCan readme for more details.
See also
Permissions are described in the user guide:
Home
Development environment setup
- Pipeline development process
- Bug severity
- Feature template (epic)
- Internationalisation (i18n)
- Dependency updates
Development
- Developer Guidelines
- The process of review, test, merge and deploy
- Making a great commit
- Making a great pull request
- Code Conventions
- Database migrations
- Testing and Rspec Tips
- Testing GitHub Actions Locally with act
- Automated Testing Gotchas
- Rubocop
- Angular and OFN
- Feature toggles
- Stimulus and Turbo
Testing
- Testing process
- OFN Testing Documentation (Handbooks)
- Continuous Integration
- Parallelized test suite with knapsack
- Karma
Releasing
Specific features
Data and APIs
- API documentation
- Authentication
- Integration & API
- Data migration
- Data model diagram (ERD)
- Stripe
- DFC Guide
Instance-specific configuration
External services
Design