opnform-host-nginx/api
Chirag Chhatrala 2366f9515d
Readonly User (#637)
* Readonly User

* Refactor FormPolicy and TemplatePolicy to centralize write operation logic

- Introduced a private method `canPerformWriteOperation` in both FormPolicy and TemplatePolicy to encapsulate the logic for determining if a user can perform write operations on the respective models.
- Updated the `update`, `delete`, `restore`, and `forceDelete` methods in FormPolicy to use the new method for improved readability and maintainability.
- Simplified the `update` and `delete` methods in TemplatePolicy to leverage the centralized write operation logic.

This refactoring enhances code clarity and reduces duplication across policy classes.

* Refactor user and workspace permissions handling

- Updated FormController to authorize form creation based on workspace context.
- Removed the `is_readonly` attribute from UserResource and integrated it into WorkspaceResource for better encapsulation.
- Refactored User model to eliminate the `getIsReadonlyAttribute` method, shifting readonly logic to the Workspace model.
- Adjusted FormPolicy and TemplatePolicy to utilize workspace readonly checks for user permissions.
- Updated various frontend components to reference workspace readonly status instead of user readonly status, enhancing clarity and consistency in permission handling.

These changes improve the management of user permissions in relation to workspaces, ensuring a more robust and maintainable authorization system.

* Fix isReadonlyUser

* fix pint

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-12-30 14:35:23 +01:00
..
app Readonly User (#637) 2024-12-30 14:35:23 +01:00
bootstrap Separated laravel app to its own folder (#540) 2024-08-26 18:24:56 +02:00
config Add reCAPTCHA support and update captcha provider handling (#647) 2024-12-18 16:35:09 +01:00
database Add reCAPTCHA support and update captcha provider handling (#647) 2024-12-18 16:35:09 +01:00
public Separated laravel app to its own folder (#540) 2024-08-26 18:24:56 +02:00
resources Add reCAPTCHA support and update captcha provider handling (#647) 2024-12-18 16:35:09 +01:00
routes Send mobile editor email (#634) 2024-12-12 11:19:09 +01:00
storage Separated laravel app to its own folder (#540) 2024-08-26 18:24:56 +02:00
tests Evaluate custom validation rules first (#655) 2024-12-30 11:00:10 +01:00
.env.docker GH issue template, docker cache fix, remove docker client entrypoint 2024-09-04 11:19:03 +02:00
.env.example Add reCAPTCHA support and update captcha provider handling (#647) 2024-12-18 16:35:09 +01:00
.gitignore Separated laravel app to its own folder (#540) 2024-08-26 18:24:56 +02:00
_ide_helper_models.php Separated laravel app to its own folder (#540) 2024-08-26 18:24:56 +02:00
artisan Separated laravel app to its own folder (#540) 2024-08-26 18:24:56 +02:00
composer.json Reduce docker api image size, fix issues 2024-08-28 15:20:39 +02:00
composer.lock Custom SMTP Settings (#561) 2024-09-24 12:16:20 +02:00
phpunit.xml Email spam security (#641) 2024-12-18 13:16:27 +01:00
pint.json Separated laravel app to its own folder (#540) 2024-08-26 18:24:56 +02:00
server.php Separated laravel app to its own folder (#540) 2024-08-26 18:24:56 +02:00
vapor.yml Separated laravel app to its own folder (#540) 2024-08-26 18:24:56 +02:00