Commit Graph

5314 Commits

Author SHA1 Message Date
Hetu Nandu
fe6df3450e Merge branch 'fix/inp-obj' into 'release'
Text validation fails with a stringified value

Closes #386

See merge request theappsmith/internal-tools-client!196
2019-12-19 10:07:19 +00:00
Hetu Nandu
1b2473c6f9 Merge branch 'release' of gitlab.com:theappsmith/internal-tools-client into release 2019-12-19 15:08:07 +05:30
Abhinav Jha
9d6e8362d2 Merge branch 'fix/bug-418' into 'release'
Fix #418: Delete and Edit widget controls are functioning properly

- Delete and Edit controls for the selected widget were getting overlapped by the widgetName element, which is now fixed.

See merge request theappsmith/internal-tools-client!201
2019-12-19 09:37:40 +00:00
Hetu Nandu
005c00a145 Revert "Selected Option is now available in dropdown widget."
This reverts commit c45198e9927dbb520ef1f3c26f9cfeddbd76995e.
2019-12-19 15:03:27 +05:30
Abhinav Jha
b612e60f49 Fix #418: Delete and Edit widget controls are functioning properly 2019-12-19 14:53:07 +05:30
Arpit Mohan
ea00d4b067 Merge branch 'release' 2019-12-19 14:30:44 +05:30
Arpit Mohan
5ba754b430 Merge branch 'hotfix/forgot-password-duplicate' into 'release'
Handling duplicate email in forgotPassword flow.

Now if the user requests for the reset password token multiple times, we will override the previous token and save the new token against that user.

See merge request theappsmith/internal-tools-server!122
2019-12-19 07:41:40 +00:00
Arpit Mohan
7a8eacb44f Merge branch 'feature/forgot-password-authorization' into 'release'
Correcting the HTTP methods in SecurityConfig and acl.rego to fix bug in forgotPassword and resetPassword authorization.

See merge request theappsmith/internal-tools-server!121
2019-12-19 07:38:12 +00:00
Arpit Mohan
e129fecca7 Handling duplicate email in forgotPassword flow.
Now if the user requests for the reset password token multiple times, we will override the previous token and save the new token against that user.
2019-12-19 13:07:01 +05:30
Arpit Mohan
9caa6d42b8 Merge branch 'feature/email-disable' into 'release'
Adding a flag to determine if we should send emails for that particular environment

This is to prevent us from sending erroneous emails from our dev/test environments

See merge request theappsmith/internal-tools-server!120
2019-12-19 07:36:10 +00:00
Arpit Mohan
20ea476dc7 Correcting the HTTP methods for the public urls of forgotPassword & resetPassword 2019-12-19 13:04:13 +05:30
Arpit Mohan
f75331b116 Adding a flag to determine if we should send emails for that particular environment 2019-12-19 13:02:48 +05:30
Arpit Mohan
a1271d5746 Merge branch 'hotfix/update-page-layout-bug' into 'release'
Removing the logic to bind actions to pages when a dynamic binding happens.

This is because when an action is created, it is already bound to that page. This assumption will not change. Also, adding the pageId when searching for an action because the action name and pageId is a unique index. There may be actions with similar names across multiple pages.

See merge request theappsmith/internal-tools-server!119
2019-12-19 07:11:07 +00:00
Arpit Mohan
738b693d9a Removing the logic to bind actions to pages when a dynamic binding happens.
This is because when an action is created, it is already bound to that page. This assumption will not change. Also, adding the pageId when searching for an action because the action name and pageId is a unique index. There may be actions with similar names across multiple pages.
2019-12-19 12:35:43 +05:30
Abhinav Jha
9f3e69b60c Merge branch 'fix/bug-413' into 'release'
Fix #413: Adhere widget name and controls to designs

- Widget Name now adheres to designs
- Position and sizes of widget controls now adhere to designs.

See merge request theappsmith/internal-tools-client!198
2019-12-19 06:52:31 +00:00
Abhinav Jha
64996d1c3e Fix #413: Adhere widget name and controls to designs 2019-12-19 12:14:31 +05:30
Satbir Singh
63be2d8b1a Merge branch 'fix/dd-css' into 'release'
Fixed dropdown property pane css

Closes #376

See merge request theappsmith/internal-tools-client!195
2019-12-18 17:05:28 +00:00
Satbir Singh
e0999a1795 Fixed dropdown property pane css 2019-12-18 17:05:28 +00:00
Satbir Singh
0a5c904778 Merge branch 'feature/husky-test' into 'release'
Adding husky test run to prepush.

See merge request theappsmith/internal-tools-client!197
2019-12-18 13:20:00 +00:00
Satbir
fff86f144b Adding husky test run to prepush 2019-12-18 18:39:08 +05:30
Satbir
6c47ee15f2 Text validation fails with a stringified value 2019-12-18 18:05:06 +05:30
Satbir Singh
7be35e5b23 Merge branch 'feature/sel-opt' into 'release'
Selected Option is now available in dropdown widget.

Fixes #383 

Added a concept of derived properties for widgets. A derived property is something that is not stored in dsl because it can be evaluated from stored properties. For example: We do not need to store a `selectedOption` for a dropdown because it can be derived from `selectedIndex` and `options`. Similarly we do not need to store `selectedRow` in a table because it can be derived from `tableData` and `selectedRowIndex`. 

Such properties are constructed on the fly for their usage in js execution and autocomplete.
To add a derived property to a widget add `getDerivedPropertiesMap` function which returns an object like this:

```
{
   <DerivedPropertyName>: (widgetData: FlattenedWidgetProps) => {<<Implements how the derived property is evaluated.>>}
}
```

See merge request theappsmith/internal-tools-client!191
2019-12-18 11:59:12 +00:00
Satbir Singh
01cdbbcabc Selected Option is now available in dropdown widget. 2019-12-18 11:59:12 +00:00
Satbir Singh
f402eaa963 Merge branch 'fix/dropdown-resize' into 'release'
Resize works on dropdowns.

Closes #355

See merge request theappsmith/internal-tools-client!193
2019-12-18 07:23:28 +00:00
Satbir Singh
94dcf6d2af Resize works on dropdowns. 2019-12-18 07:23:28 +00:00
Satbir Singh
e21c502827 Merge branch 'feature/moment' into 'release'
Adding moment to js execution

See merge request theappsmith/internal-tools-client!194
2019-12-18 06:36:48 +00:00
Satbir
b6e7a5758a Adding moment to js execution 2019-12-17 18:07:12 +05:30
Arpit Mohan
a54e8b1559 Fixing bug where the public URLs need to be defined in SecurityConfig as well 2019-12-17 12:05:52 +05:30
Arpit Mohan
b32f7a23ee Merge branch 'feature/public-url-user-signup' into 'release'
Creating a list of public endpoints that anonymous users can access.

OPA controls access to all endpoints and the list of authenticated resources and public URLs is defined in a single place in that file.

The url_allow function in acl.rego is an overloaded function that replicates the OR condition in Rego. Either the user is authenticated and has permissions to access those resources, or the URL is public and accessible by any user.

See merge request theappsmith/internal-tools-server!117
2019-12-17 04:02:56 +00:00
Arpit Mohan
bcba9d3415 Creating a list of public endpoints that anonymous users can access.
OPA controls access to all endpoints and the list of authenticated resources and public URLs is defined in a single place in that file.

The url_allow function in acl.rego is an overloaded function that replicates the OR condition in Rego. Either the user is authenticated and has permissions to access those resources, or the URL is public and accessible by any user.
2019-12-17 09:28:59 +05:30
Arpit Mohan
3e109d4d28 Merge branch 'feature/remove-basic-auth' into 'release'
Removing basic auth from our securityConfig

See merge request theappsmith/internal-tools-server!116
2019-12-16 09:08:07 +00:00
Arpit Mohan
3760849aa6 Removing basic auth from our securityConfig 2019-12-16 14:32:27 +05:30
Abhinav Jha
cf5fcfe9c6 Merge branch 'feature/userauth' into 'release'
User Auth Flow

The following user scenarios are implemented:

Login
=====
- User should be able to login using email and password
- - Known issue: No redirect happens after login. In fact, an error shows. User should go to `/applications` manually
- User should be able to login using google
- - Know issue: User redirects to the `release` application or `production` applications. If you're using `release` or `production`, you'll be on the same domain.
- User should be able to see validation errors on login page for email and password
- Login button is in loading state when clicked (logging In)
- Login page should start with login button disabled
- Login page shows login errors, if any.
- User should be able to redirect to signup page from the link in the page
- User should be able to redirect to forgot page from the link in the page
- If the email field has any value, the value is carried over to forgot password page.

Sign Up
=======
- User should be able to sign up with email and password
- User should be able to see success message on successful signup.
- User should be able to see password and email validation errors.
- The signup button should work exactly the way it works in the login page
- User should be able to go back to login page from the link on the page.

Forgot Password
===============
- User should be able to see the email field populated if they had something in the email field on the login page. Works only when redirecting from login page's forgot password link.
- User should be able to see validation messages
- User should be able to initiate a request to send a reset token to their provided email
- The reset button should work exactly the way it works on the login page
- User should see the success and failure messages, with actionable links.

Reset Password
==============
- User should be able to reset their password
- User should be able to see success/failure messages with actionable links.
- User should be able to see validation errors.
- User should be able to go back to login page in case they change their mind.

Other changes
=============
- User should see proper error messages when we have a 500 error in forms
- User should redirect to login page if trying without a logged in session on protected routes (for eg: `applications/`)
- Custom form error message tag component which adheres to appsmith's intent colors.




See merge request theappsmith/internal-tools-client!177
2019-12-16 08:49:10 +00:00
Abhinav Jha
ed2ecadbc4 User Auth Flow 2019-12-16 08:49:10 +00:00
Arpit Mohan
ccd6a7f4e6 Merge branch 'feature/spring-boot-upgrade' into 'release'
Upgrading to Spring boot 2.2.2 for features in Spring security

Now, we have an authenticationSuccessHandler & authenticationFailureHandler for OAuth & Form sign ups. This makes the whole flow much cleaner & easier to handle.

See merge request theappsmith/internal-tools-server!115
2019-12-16 05:28:22 +00:00
Arpit Mohan
82a6d96b1a Upgrading to Spring boot 2.2.2 for features in Spring security
Now, we have an authenticationSuccessHandler & authenticationFailureHandler for OAuth & Form sign ups. This makes the whole flow much easier to handle.
2019-12-16 10:53:17 +05:30
Arpit Mohan
7f9e0b71da Merge branch 'release' into 'master'
Release

See merge request theappsmith/internal-tools-server!114
2019-12-16 05:02:50 +00:00
Arpit Mohan
deea507e8b Merge branch 'release' 2019-12-16 10:30:32 +05:30
Arpit Mohan
274a686e51 Modifying the form submit error handler to redirect the browser to login error page.
This is because the client cannot handle a JSON response for form submit requests. They can only be handled in Ajax requests.
2019-12-12 18:22:18 +05:30
Arpit Mohan
69e73ad240 Disabling the GET for the login page to ensure that the server login page is not loaded 2019-12-12 16:07:57 +05:30
Arpit Mohan
018b98df8f Merge branch 'feature/user-endpoint-me' into 'release'
Adding endpoint to fetch current user's profile.

Also redirecting the browser to this user profile endpoint on username password login success. This ensures that the client fetches the profile along with setting the session ID cookie in the browser

See merge request theappsmith/internal-tools-server!113
2019-12-12 10:01:16 +00:00
Arpit Mohan
eb825f37e9 Adding endpoint to fetch current user's profile.
Also redirecting the browser to this user profile endpoint on username password login success. This ensures that the client fetches the profile along with setting the session ID cookie in the browser
2019-12-12 15:25:09 +05:30
Arpit Mohan
9a1ed9a17c Merge branch 'feature/auth-success-redirect' into 'release'
Redirect to the client's homepage on success of username password login

This has been done with the express purpose of ensuring that the session ID is set correctly in the browser by the client. This can only happen when there is a 302 redirect by the browser.

See merge request theappsmith/internal-tools-server!112
2019-12-12 09:46:38 +00:00
Arpit Mohan
af96c11d3e On username + pwd auth success, we redirect the browser to the client's index page via the origin header. 2019-12-12 09:46:38 +00:00
Satbir Singh
fb028eb13e Merge branch 'feature/cypress-e2e' into 'release'
Added cypress for e2e tests.

See merge request theappsmith/internal-tools-client!190
2019-12-12 07:50:53 +00:00
Satbir Singh
ab0007317e Added cypress for e2e tests. 2019-12-12 07:50:53 +00:00
Trisha Anand
d8fc726f79 Merge branch 'feature/user-login-redirect' into 'release'
Sending custom JSON in form login success and failure scenarios

See merge request theappsmith/internal-tools-server!111
2019-12-12 07:32:20 +00:00
Arpit Mohan
c12f90ca1e Sending custom JSON in form login success and failure scenarios
This involves overriding the default success and failure handlers for login in the SecurityConfig class. The handlers are defined in the filters package.
2019-12-12 12:57:23 +05:30
Arpit Mohan
1e83f6943b Merge branch 'bug/pageid-being-deleted-on-dsl-update' into 'release'
Fixed : Unbinding action from page during DSL update leads to unbinding of all actions.

Removed unbinding of actions from the page if not present in the DSL.

See merge request theappsmith/internal-tools-server!110
2019-12-12 07:04:36 +00:00
Trisha Anand
9c62029ff0 Removed unbinding of actions from the page if not present in the DSL. 2019-12-12 12:30:50 +05:30