Commit Graph

18234 Commits

Author SHA1 Message Date
Hetu Nandu
f1be938bb3 Recursive dynamic binding resolution 2019-12-30 07:39:53 +00:00
Hetu Nandu
705b38d708 Merge branch 'feature/codemirror-integration' into 'release'
Replace monaco-editor with Codemirror

See merge request theappsmith/internal-tools-client!204
2019-12-30 07:35:16 +00:00
Hetu Nandu
146899934a Replace monaco-editor with Codemirror 2019-12-30 07:35:16 +00:00
Abhinav Jha
d9b8059799 Focus widget on hover. Show property pane on double click 2019-12-27 15:40:04 +05:30
Abhinav Jha
a7a83119ee Drag all widgets on touch and move 2019-12-25 14:47:37 +05:30
Arpit Mohan
8ff5c7d1fc Merge branch 'feature/401-redirect' into 'release'
Responding with 401 unauthorized http response header for all unauthenticated requests

This ensures that the client can redirect to the login page whenever it receives the http status 401 in the response header. Now, the server is no longer responsible for redirecting to the login page. All server redirects have been disabled.

See merge request theappsmith/internal-tools-server!128
2019-12-23 14:49:05 +00:00
Arpit Mohan
d32eaf11d8 Responding with 401 unauthorized http response header for all unauthenticated requests
This ensures that the client can redirect to the login page whenever it receives the http status 401 in the response header. Now, the server is no longer responsible for redirecting to the login page. All server redirects have been disabled.
2019-12-23 20:15:33 +05:30
Trisha Anand
12d6c50604 Merge branch 'feature/action-caching' into 'release'
Successful action execution results are saved in the action.

See merge request theappsmith/internal-tools-server!127
2019-12-23 14:34:19 +00:00
Trisha Anand
f13356a6e2 Successful action execution results are saved in the action. 2019-12-23 20:00:46 +05:30
Abhinav Jha
78b56dd38b Merge branch 'feature/invite-users' into 'release'
Invite Users

Organization Dropdown
=====================
- User must be able to see 
  - The organization dropdown in the headers
  - The name of the organization in the header
  - A list of navigation options on clicking the header; in a dropdown
  - Navigate to the organization settings page on clicking "Organization Settings"
  - View a list of organizations on clicking "Switch Organization"

Invite Users Form
=================
- User must be able to
  - View the Invite Users header
  - Go back to the previous page on clicking "Cancel"
  - Add a list of email addresses in the User emails field by "Enter", "Space" and ","
  - Delete individual email address - by clicking on the close icon, and "Backspace"
  - Select a role for the set of emails
  - See a validation message for each of the user email fields and role select fields
  - Delete an entry of the "role -> emails" set by clicking on the "delete" icon at the end of each sets of fields
  - Add another "role -> emails" set by clicking on "Add more"
  - Submit the list of sets of " role -> emails" by clicking on Invite Users button


Other changes
=============
- Each of the protected pages will check for login on load
- When logged in and trying to access "/" (base URL), user will be redirected to the applications page
- User can navigate to the invite users page from the "Organization settings" page.
- Add black favicon for scaffolding pages, and orange for editor


See merge request theappsmith/internal-tools-client!203
2019-12-23 12:16:33 +00:00
Abhinav Jha
3a5aae9b97 Add favicon. Connect Nav Dropdown. Fix TagInputComponent. Fetch org and user details. Navigate to applications from /, Check for login 2019-12-23 12:16:33 +00:00
Hetu Nandu
6f356f5f00 Merge branch 'feature/path-params-sync' into 'release'
Sync path and params in api pane

Implements: #188 

See merge request theappsmith/internal-tools-client!187
2019-12-23 12:12:58 +00:00
Hetu Nandu
e82f5f3988 Sync path and params in api pane 2019-12-23 12:12:58 +00:00
Trisha Anand
3cd5a28ed6 Merge branch 'feature/http-redirect' into 'release'
Handles http redirect upto 5 times. In case it exceeds the same, it would error out.

Closes #94

See merge request theappsmith/internal-tools-server!126
2019-12-23 09:12:15 +00:00
Trisha Anand
71a8936e10 Handles http redirect upto 5 times. In case it exceeds the same, it would error out. 2019-12-23 09:12:15 +00:00
Arpit Mohan
2b9dadb582 Merge branch 'feature/user-invite' into 'release'
Adding the invite user flow to invite a new user into the organization.

This includes multiple APIs:
1. Invite user which creates an invite token for the user and then sends it to the new user via email. This token is valid for 1 hour (for now).
2. An endpoint to verify the invite token so that the client can pre-emptively show any errors or expired token messages. This endpoint is publicly accessible and doesn't require a session.
3. An endpoint for the new user to sign up and set their password by providing their invite token. This endpoint is publicly accessible and doesn't require a session.

Also extending the redis session timeout to 1 day instead of 30 mins.

See merge request theappsmith/internal-tools-server!125
2019-12-23 03:30:08 +00:00
Arpit Mohan
5081292fd8 Adding the invite user flow to invite a new user into the organization.
Also extending the redis session timeout to 1 day instead of 30 mins.
2019-12-23 08:54:12 +05:30
Arpit Mohan
0ba403b8ee Merge branch 'feature/install-default-plugin-org' into 'release'
On user signup install the default plugins in the user's personal organization

When a user signs up, a personal organization is created for that user. There are a bunch of plugins marked in the DB as with field `defaultInstall` as true. These plugins must be installed for the new organization. This ensures that the user is able to run basic actions such as executing an API, DB query etc.

Also, adding a condition in the `getPlugins` API to return only the plugins installed by the user's organization.

See merge request theappsmith/internal-tools-server!124
2019-12-19 11:47:26 +00:00
Arpit Mohan
b30626b274 Returning only the plugins installed by the user's current organization
This ensures that we don't return all the plugins available in the marketplace if they haven't been installed by the user.
2019-12-19 11:47:26 +00:00
Arpit Mohan
878e477902 Merge branch 'release' 2019-12-19 15:39:02 +05:30
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