Commit Graph

2890 Commits

Author SHA1 Message Date
Shrikant Sharat Kandula
4a269efd4a
Reset default fields of User object before update (#158)
The policies of `User` objects is an empty set by default. So, when using a new `User` object to call `update`, it also updates existing policies to be an empty list.
2020-07-24 18:32:43 +05:30
Trisha Anand
9f8b5ca4d8
Adding execute action permissions policy to match read actions policy in existing actions. (#156)
* Fixing test cases failing due to non unique names.

* Adding execute action permissions policy to match read actions policy in existing actions.

* Only save the action if there are read actions permission present (and hence could have been updated)
2020-07-24 17:05:49 +05:30
vicky-primathon
a2673aaa87
Fix-Open image in new tab on clicking it in table widget. (#119)
* Added Button component in Table widget for actions

* Action button state loading added for Table widget

* Action button font-weight made as normal

* Created header for common functionalities in Table Widget

* Client side searching added in Table Widget. Action created for server side searching also.

* Columns visibility feature initial commit

* Column visibility list added in Table Widget

* Changed pagination designs in accordance with new layout. This enable user to jump page as well.

* Using colors values from constants

* Table widget pagination, numeric input page number clamped between 1 and total pages

* Adding tool tip to truncated values in table widget. Added AutoToolTipComponent that adds tooltip when text is truncated.

* Table data download changes. Added downlaod icon and button to table widget.

* Table data download changes

* Table button loading state fixed. Table code refactored, rendering from props instead of state in ReactTableComponent

* Table widget action button alignment fixed

* Handled actions column changes

* added proper keys to useMemo for react table widget

* Download table data as CSV implemented

* table data download, unused code removed

* Code refactors and added dependency map with meta props and table data for computing columns

* Table UI breakages on scroll and empty cells fixed

* Handled empty rows in table widget

* Fixed last row cut issue

* Code review changes

* Code review changes

* Added table widget component heights as enum

* code review changes

* Search component in Table widget updated with support for clearing data, renamed properties

* Opening image in new tab on clicking in table widget

* Fixed table craching due to empty data filtering

* Empty extra space on loading removed in table widget

* Removed stopping of event propagation on table widget action button click

* Table header UI overflow fixed

* Clearing selected row on searching data in table widget

* fix for cypress test

Co-authored-by: Arpit Mohan <me@arpitmohan.com>
2020-07-24 16:02:31 +05:30
Trisha Anand
61c62c9212
Datasource Test should test against the datasource object sent by the client (#155)
* Datasource test should always test the latest object given by the client (instead of fetching the same from the db). If it is a saved datasource, then we should decrypt and set the password in the datasource (unless the password is one of the changes that is being tested).

* Added function level comment to clarify that this function can no longer be used by just sending the datasource.id field set.
2020-07-24 15:53:40 +05:30
Shrikant Sharat Kandula
23dd84d9c8
Clear application pages list before cloning (#154) 2020-07-24 14:35:16 +05:30
Shrikant Sharat Kandula
dfcabab4cc
Handle stale database connection from datasources (#151)
* Handle stale database connection from datasources

* Fix potential secondary case of stale connection error

* Fix Postgres to MySQL

* Move validity check timeout to a constant field

* Add test for recovery when stale connection error is thrown
2020-07-24 12:18:25 +05:30
NandanAnantharamu
8e5fb14f70
updated test by removing blank header value (#153)
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
Co-authored-by: Hetu Nandu <hetu@appsmith.com>
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
Co-authored-by: Nandan Anantharamu <Nandan@thinkify.com>
2020-07-24 11:17:54 +05:30
NandanAnantharamu
b73d049019
Api test fixes (#146)
Co-authored-by: Nandan Anantharamu <Nandan@thinkify.com>
2020-07-24 10:01:39 +05:30
Shrikant Sharat Kandula
ca73c3e625
Copy plugin dependencies to their target/lib to fix driver not found errors (#152)
The plugin class loader from Pf4J looks for jars under target/lib
to use to load any classes that are missing target/classes. This
PR adds the `maven-dependency-plugin` to copy the jars to this
folder automatically so the classes are available during
development.
2020-07-24 09:49:17 +05:30
Arpit Mohan
36bf14f221
Adding dynamic redirect to form & OAuth2 login (#149)
The client can send the redirect URL in X-Redirect-Url header. The server will honour the value set and redirect the client browser to this particular url. By default the server will redirect to /applications if the custom header is missing. The redirect url can either be absolute or relative.

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2020-07-23 20:32:38 +05:30
Trisha Anand
3c30b38937
Bug fix : External datasources do not execute for public application (#143)
1. Bug fix for when actions for a public application use an external datasource (aka db queries). The db queries were not getting executed because the permission for execute datasource was not getting set for anonymousUser.

2. When using the Test endpoint for datasource, if the datasource is being read from the db and there are encrypted fields, first decrypt the field and then send to the plugin for testing the co
2020-07-23 20:31:36 +05:30
Tejaaswini Narendra
fa329c742f
fix: Table scroll issue, application share issue, eslint errors (#120)
* fix: Table scroll issue, application share issue, eslint errors

- Settings page: whole page should scroll not the table
- Application name to be displayed to user on share
- Fix eslint errors

* fix: Get Application details and pass it to as props.
2020-07-23 17:58:42 +05:30
Tejaaswini Narendra
ea7403ab06
fix: email validation (#118)
* fix: email validation

* feat: Test Email Validation
2020-07-23 17:58:26 +05:30
Tejaaswini Narendra
2ac009678e
fix: Add home button on appviewer screen (#117)
* fix: Add home button on appviewer screen

* fix: styling

* fix: take application details as props
2020-07-23 17:58:02 +05:30
Shrikant Sharat Kandula
a46d355422
Fix class name casing for MySqlPlugin (#148) 2020-07-23 17:33:34 +05:30
Hetu Nandu
d99d233539
Fix widget tests (#141)
* Add table row index and col index
* comment map tests
2020-07-23 11:03:12 +05:30
akash-codemonk
0b91612710
Add environment variable APPSMITH_CLOUD_HOSTING (#145) 2020-07-23 11:02:00 +05:30
Arpit Mohan
f9d4262d7e
Removing the default value for postgresql and mysql ports (#147) 2020-07-23 10:40:18 +05:30
Shrikant Sharat Kandula
32095c85ed
Use single sed command with multiple expressions (#127)
Processing the text in-memory, we won't have to deal with the platform dependency of the `-i` argument to `sed`.
2020-07-22 17:23:49 +05:30
Shrikant Sharat Kandula
fd888e33c8
Add migration for updating plugin doc links to our own docs (#142) 2020-07-22 15:28:27 +05:30
akash-codemonk
2629885bb0
Fix table height bug (#139) 2020-07-22 14:01:18 +05:30
Arpit Mohan
690c327f2c
Adding default values for mysql datasource (#140)
Also correcting icon details to mysql plugin migration.
2020-07-22 14:00:15 +05:30
Arpit Mohan
33e2f90de3
Updating the path to download the script during AMI creation (#137) 2020-07-22 09:06:59 +05:30
Hetu Nandu
fe43680abc
Action test fixes (#130)
* Fixes for tests
* remove marketplace tests
* fix some other tests
* Simplify update datasource
* Add cypress env variables
2020-07-21 19:31:51 +05:30
Nikhil Nandagopal
74231120fe
Fix/deploy script (#135)
* Added information to setup domain

* Fixed incorrect var reference

* Updated documentation message

* Updated env template

* updated template

* removed debug echo

* Updated Script

* Updated Text

Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
2020-07-21 18:21:41 +05:30
akash-codemonk
36258786c9
Show all db datasources in query pane (#134) 2020-07-21 17:42:35 +05:30
NandanAnantharamu
84c901181d
Updated locators and corrected typo. Also updated some routes (#133)
Co-authored-by: Nandan Anantharamu <Nandan@thinkify.com>
2020-07-21 17:35:06 +05:30
Manish
391347224d
adding base-install.sh and boot.sh (#92)
Adding the following files in order to create the AWS AMI 
* boot.sh
* base-install.sh
* configure-ssl.sh file to run to modify app.conf file of nginx and to run init-letsencrypt.sh which generate SSL certificate.

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2020-07-21 16:54:08 +05:30
akash-codemonk
30b8d3581b
Query pane refactor and fixes (#87)
* Query pane refactor and fixes

* Check if body exists

* Get pluginId from the datasource

* Move plugin image logic to selector

* Show info in new line on the datasource form page

* Update link text to Docs

* Handle string as run api response body

* Remove harcoded height

* Remove all references to ImageAlt except in selector

* Updata info text
2020-07-21 16:06:53 +05:30
nupur
d0e60a1890
Mysql plugin integration (#53)
This commit adds the Mysql plugin to the Appsmith server. We also add a migration to ensure that this plugin is installed by default for all existing organizations. The migration also adds the plugin details into the DB.

Also adding the test cases for mysql plugin.

Co-authored-by: Arpit Mohan <arpit@appsmith.com>
Co-authored-by: Hetu Nandu <hetu@appsmith.com>
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
Co-authored-by: Nupur Singhal <nupursinghal@Nupurs-MacBook-Air.local>
2020-07-21 16:01:42 +05:30
Shrikant Sharat Kandula
1fc582af08
When cloning examples organization, clone only public applications (#125)
* When cloning examples organization, clone only public applications

* Create template organization within the test

* Cleaned up test for cloning of examples organization

* Fix Mono chaning

Co-authored-by: Trisha Anand <trisha@appsmith.com>

* Create test apps and config simultaneously

Co-authored-by: Trisha Anand <trisha@appsmith.com>
2020-07-21 13:39:07 +05:30
Hetu Nandu
af65e1ca9f
Add property checks in evaluated widget (#95) 2020-07-21 12:29:49 +05:30
Arpit Mohan
67d0b0393a
Updating the import statement in Cypress test (#129) 2020-07-21 12:29:24 +05:30
Trisha Anand
d1dd74018f
Bug fix : Update of datasource object leads to authentication field getting encrypted again. (#124)
* Datasource authentication object fields should only be encrypted during create or if the update object contains authentication object. Added a test case to check that update to any other field doesnt update the encrypted fields.

* Incorporated review comment
2020-07-21 10:53:03 +05:30
Arpit Mohan
a4fd349c0b
Fixing the sed command for mac os x in Nginx configuration template. (#126) 2020-07-20 17:51:10 +05:30
NandanAnantharamu
1d726dac20
Create Org related usecases (#84)
* Create Org related usecases

* Review comments incorporated

* Updated with env variables for test users and routes

Co-authored-by: Nandan Anantharamu <Nandan@thinkify.com>
2020-07-20 15:08:35 +05:30
Shrikant Sharat Kandula
55a6cc6614
Clone examples organization for every new user (#78)
* Trying to clone the examples repo on new user signup

* Working implementation of cloning examples organization on user sign up

* Fix personal org not being created when template org is missing

* A working version of cloning of examples organization on first-login

* Add docs for methods in ExamplesOrganizationCloner

* Refactor computing user's first name into a method

* Add some menial tests for examples organization cloning

* Use explicit permissions when fetching applications and datasources

* Fix template organization config name hard-coding
2020-07-20 13:07:31 +05:30
Shrikant Sharat Kandula
f9e1d4f1ad
Chore/remove implicit permissions (#90)
* Refactor implicit permissions in service methods as function arguments

* Revert an unintended change that got committed

* Fix permission variable name

Co-authored-by: Trisha Anand <trisha@appsmith.com>

Co-authored-by: Trisha Anand <trisha@appsmith.com>
2020-07-20 13:06:47 +05:30
vicky-primathon
4f47a8ad3f
Feature/table ui download data (#52)
* Created header for common functionalities in Table Widget

* Client side searching added in Table Widget. Action created for server side searching also.

* Columns visibility feature initial commit

* Column visibility list added in Table Widget

* Changed pagination designs in accordance with new layout. This enable user to jump page as well.

* Using colors values from constants

* Table widget pagination, numeric input page number clamped between 1 and total pages

* Adding tool tip to truncated values in table widget. Added AutoToolTipComponent that adds tooltip when text is truncated.

* Table data download changes. Added downlaod icon and button to table widget.

* Table data download changes

* Download table data as CSV implemented

* table data download, unused code removed

* Code review changes

* code review changes

Co-authored-by: Arpit Mohan <me@arpitmohan.com>
2020-07-20 11:34:05 +05:30
Arpit Mohan
eabe496fbd
Adding the /login endpoint to nginx configuration template during deploy process (#122) 2020-07-17 18:31:14 +05:30
Nikhil Nandagopal
05cf489398
Update README.md (#121) 2020-07-17 18:26:11 +05:30
Hetu Nandu
b6c710cfa2
Add support for run time params in action execution (#98)
Adds a third parameter to the Action.run function that can be referenced inside an action config
Usage
`{{ Api1.run(...,...,{key: value}) }}` inside property pane
`{{this.params.key}}` inside action pane

* You can reference data tree properties in the params values:
`{{ Api1.run(..., ..., { key: "Input1.text.toUpperCase()" })`
* Bindings can have both params and data tree values referenced. 
* Param values can be javascript functions
`body: {{ this.params.list.map(i => Input1.text + i ) }}`
2020-07-17 18:25:34 +05:30
Nikhil Nandagopal
70c4dd5964
Fix/deploy script (#111)
* Added information to setup domain

* Fixed incorrect var reference

* Updated documentation message

* Updated env template

* updated template

* removed debug echo

* Updated Script

* Updated Text

Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
2020-07-17 15:29:28 +05:30
Arpit Mohan
d419e538d7 Merge branch 'release' 2020-07-17 01:09:00 +05:30
Arpit Mohan
dad70efcbd
Fixing the nginx configuration used as template during deployment (#115) 2020-07-17 01:05:42 +05:30
Arpit Mohan
176b368d54 Merge branch 'release' 2020-07-16 18:26:39 +05:30
Arpit Mohan
8061de6418
Correcting the package step for client package step (#114) 2020-07-16 18:24:49 +05:30
Arpit Mohan
88106e63f4 Merge branch 'release' 2020-07-16 18:11:19 +05:30
vicky-primathon
290bb8d57c
Table UI breakages on scroll and empty cells fixed (#60)
* Added Button component in Table widget for actions

* Action button state loading added for Table widget

* Action button font-weight made as normal

* Table button loading state fixed. Table code refactored, rendering from props instead of state in ReactTableComponent

* Table widget action button alignment fixed

* Handled actions column changes

* added proper keys to useMemo for react table widget

* Code refactors and added dependency map with meta props and table data for computing columns

* Table UI breakages on scroll and empty cells fixed

* Handled empty rows in table widget

* Fixed last row cut issue

* Code review changes

* Added table widget component heights as enum

Co-authored-by: Arpit Mohan <me@arpitmohan.com>
2020-07-16 16:09:07 +05:30
Trisha Anand
d111df5e9e
Updated encryption setup in build and deploy script (#112)
* Incorporated review comments on encryption setup in build and deploy script.
2020-07-16 15:51:52 +05:30