Commit Graph

36 Commits

Author SHA1 Message Date
Chirag Chhatrala
aae28d09cc Add workspace update functionality (#699)
* Add workspace update functionality

* Refactor workspace settings header layout and edit button styling

* Update workspace route and API endpoint to use root path

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2025-02-12 13:43:55 +01:00
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
Chirag Chhatrala
504c7a0f2f Custom SMTP Settings (#561)
* Custom SMTP Settings

* Fix lint

* Custom SMTP add in Pricing plan

* Allow reset email settings

* improve custom SMTP using seprate abstract class

* test case for custom SMTP

* fix test case

* UI improvement

* add CASHIER_KEY in phpunit for testcase

* Attempt to fix tests

* Run pint and attempt to fix cache tests

* Fix user management tests

* Fix code linters

* Merged main & fix linting

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-09-24 12:16:20 +02:00
Chirag Chhatrala
da0ea04475 Dynamic OauthDriver scope (#544)
* Dynamic OauthDriver scope

* support migration for mysql

* Refactor default scopes for integrations

* Small UI changes

* fix flet select tooltip

* fix linter

* Fix google token size in DB

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-29 13:28:02 +02:00
Julien Nahum
2503595786 Reduce docker api image size, fix issues 2024-08-28 15:20:39 +02:00
Julien Nahum
79d3dd7888 Feature flags (#543)
* Re-organize a bit controllers

* Added the featureflagcontroller

* Implement feature flags in the front-end

* Clean env files

* Clean console.log messages

* Fix feature flag test
2024-08-27 16:49:43 +02:00
Chirag Chhatrala
fedc382594 Pricing Upgrade Flow changes (#514)
* Pricing Upgrade Flow changes

* remove extra code

* Refactor subscription plan selection and billing management

* Polish the new pricing modal

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-23 12:23:01 +02:00
Boris Lepikhin
517bccc695 Zapier integration (#491)
* create zapier app

* install sanctum

* move OAuthProviderController

* make `api-external` middleware

* add zapier endpoints

* add tests

* token management

* zapier event handler

* add policy

* use `slug` instead of `id`

* wip

* check policies

* change api prefix to `external`

* ui tweaks

* validate token abilities

* open zapier URL

* zapier ui tweaks

* update zap

* Fix linting

* Added sample endpoints + minor UI changes

* Run PHP code linter

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-12 11:14:02 +02:00
Favour Olayinka
90ff91b1e9 Team functionality (#459)
* add api enpoints for adding, removing, updating user to workspace and leaving workspace

* feat: updates client site workspace settings

* refactor and add domain setting ui in modal

* move workspace user functionality to its own component

* adds tests

* fix linting

* updates select input to FlatSelectInput

* moves workspace user role edit to seperated component

* move user adding to its own component

* adds check to usure users exist before checking is admin

* fix loading users

* feat: invite user to team functionality

* fix token coulmn

* fix self host mode changes

* tests for  user invite

* Refactor back-end

* Rename variables

* Improve some styling elements + refactor workspace settings

* More styling

* More UI polishing

* More UI fixes

* PHP linting

* Implemented most of the logic for team-functionnality

* Fix user avatar URL

* WIP remove users on cancellation

* Finished pricing for team functionality

* Fix tests

* Fix linting

* Added pricing_enabled helper

* Fix pricing_enabled shortcut

* Debug CI

* Disable pricing when testing

---------

Co-authored-by: LL-Etiane <lukongleinyuyetiane@gmail.com>
Co-authored-by: Lukong Etiane <83535251+LL-Etiane@users.noreply.github.com>
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-07-04 17:21:36 +02:00
Boris Lepikhin
24d33a9ebb Google Sheet - OAuth "client" powered integrations (#415)
* fix `helpers.php`

* fix `.eslintrc.cjs`

* spreadsheet manager

* fetch providers. set `oauth_id` for integrations

* create spreadsheet on integration create event

* connect OAuth accounts

* display actions. connect account if missing

* cleanup

* handle form field change

* map integration data object to `SpreadsheetData`

* validate request

* wip

* redirect to integrations page

* fix refresh token

* add helper text

* add extra integration info

* refactor

* refresh google token

* fix validation

* add tests

* Fix linting issue

* Update composer lock file

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-06-05 15:35:46 +02:00
Favour Olayinka
80cdce9502 A227b new admin features (#388)
* wip: adminfeatures

* wip: admin features

* wip: admin features, password reset, deleted forms

* fix linting

* fix pinting

* fix bug

* fix bug

* remove testing

* fixes on deleted forms, removed unused functions

* fix pint

* admin  feature updated

* fix linting warning

* fix workspace subscription tag

* Final touches

* Clean console.log

* Added admin logs

* Fix linting

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-05-06 14:12:05 +02:00
Chirag Chhatrala
053a4a4976 Refactor Admin Panel with more features (#384)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-04-22 16:11:21 +02:00
Favour Olayinka
bcd45ce8a6 0351d front end linting (#377)
* feat: disable custom script for  trial users

* after lint fix

* frontend linting

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-04-15 19:39:03 +02:00
Favour Olayinka
478b68074d Apply bug fixes from Noteforms (#341)
* rename const emits to emit

* auth bug fixes

* refactor page meta

* fix file input empty ref

* setProperties working_form store

* add form creator to form list

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-03-12 12:48:51 +01:00
Julien Nahum
e5dc3f1bd4 More front-end bug fixes 2024-02-10 12:46:17 +01:00
Julien Nahum
2dbbc38ba4 Optimize API calls, added form loading logs 2024-01-25 05:12:45 +01:00
formsdev
8f2f2182f0 fix display error message (#293)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-01-24 10:05:47 +01:00
Julien Nahum
d0dd1cfe39 Improve workspace creation 2024-01-22 14:40:17 +01:00
Julien Nahum
c0f01f4b84 Fix custom domain setting + fix maxFileSize preview 2024-01-22 14:28:22 +01:00
Julien Nahum
42c65ae06f Added moderator impersonation 2024-01-19 14:27:04 +01:00
Julien Nahum
c97be832d7 Fix sentry tracked issues 2024-01-18 11:37:04 +01:00
Julien Nahum
b19baaf8f3 Fix user impersonation 2024-01-16 11:23:16 +01:00
formsdev
57ce0e6114 remove api prefix from routes (#280)
* remove api prefix from routes

* PR changes

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-01-12 17:35:16 +01:00
Julien Nahum
668b0217d2 Remove useless images + fix templates show page 2024-01-10 17:22:25 +01:00
Julien Nahum
9750406025 Remove NuxtImg for non asset files 2024-01-10 16:17:47 +01:00
formsdev
27ece34226 NuxtImg Migration (#279)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-01-05 11:41:49 +01:00
formsdev
cc7d64a0c6 Set middleware on pages (#278)
* Se middleware on pages

* Se middleware on account page
2024-01-05 10:47:36 +01:00
formsdev
f87e3f1685 SEO meta nuxt migration (#274)
* SEO meta nuxt migration

* Polish seo metas, add defaults for OG and twitter

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-01-04 18:38:50 +01:00
formsdev
33458f25f4 Fix custom redirect (#273) 2024-01-04 17:05:29 +01:00
Julien Nahum
a6d88278be Remove appconfig in favor of runtimeconfig 2024-01-03 17:38:11 +01:00
formsdev
178424a184 Migrate to nuxt settings page AND remove axios (#266)
* Settings pages migration

* remove axios and use opnFetch

* Make created form reactive (#267)

* Remove verify pages and axios lib

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-01-02 13:09:41 +01:00
formsdev
6fd2985ff5 Nuxt Migration notifications (#265)
* Nuxt Migration notifications

* @input to @update:model-value

* change field type fixes

* @update:model-value

* Enable form-block-logic-editor

* vue-confetti migration

* PR request changes

* useAlert in setup
2023-12-31 12:39:01 +01:00
Julien Nahum
e2dd0295ff Remove vform - working on form public page 2023-12-24 20:19:59 +01:00
Chirag Chhatrala
3d92637ef5 NuxtLink migration (#262)
Co-authored-by: Forms Dev <chirag+new@notionforms.io>
2023-12-22 10:24:51 +01:00
Julien Nahum
5c4dc2a3d6 WIP 2023-12-11 11:56:21 +01:00
Julien Nahum
1f853e8178 Work in progress 2023-12-09 15:47:03 +01:00