different resize event callbacks for a particular dialog.
This function needs to be executed from the 'build' function of any of
the alertify dialog. Refs #1358
This version includes the feature request about invoking the callbacks
for different resize events. It will allows us to adjust the layout of
the dialogs based on its width, just like we've in the panels.
when no of records in a page is set to 0 (or, less than 0). So that -
we do not loose CSS applied on the children DOM Elements dependent of
the original class.
This was regression of commit-id:
f9393aee44
We were loosing the formatting under the grid table due to this change.
A distro can now install a config_distro.py file alongside config.py
in which distro-specific configuration settings can be set, overriding
those in config.py. User settings in config_local.py will override
all other settings. This is useful to allow packagers to config
settings like the doc path, that may be specific to RPMs or Wheels
etc.
1) No handling for INTERVAL type datetime.
For example: executing query
SELECT INTERVAL '15 minutes';
throws json serialization error, because it returns time in timedelta format which is not handled.
Added support to handle timedelta datetime format in DataTypeJSONEncoder class
2) When we try to get BC dates from database raises ValueError: year is out of range
For eg:
SELECT TIMESTAMP '0044-03-15 10:00:00 BC',
It is because pyscopg2 doesn't handle BC datetime format.
So we have defined our method which type cast the datetime value to string in pyscopg2 overriding default behaviour.
Reference:
http://initd.org/psycopg/docs/advanced.html#type-casting-from-sql-to-pythonccf3693be6/pgcli/pgexecute.py
The backgrid-sizeable's css property 'overflow: hidden' was overriding backgrid table css property and It was reproducible only in runtime.
Removed 'overflow: hidden' property from backgrid-sizeabled-columns.css
To find out the type of file selected using FileManager in query tool, we use bitwise OR( | ) on two sets which is not working on python-2.6.9 version.
Now we took list of elements instead of sets to fix the issue.
This issue was regression of commit id: 47d7e24bb9
Shouldn't have return statement in view object because it is called by render of wizard object class to render the page in wizard.
1) Unable to select sql file through query tool on windows OS. In file_manager.js, we are stripping initial slash '/' from the path obtained, but we should not strip if it is full path like 'c:/path/to/dir/filename.ext'
2) Handle directory path if STORAGE_DIR is None. Proper checks are added.
1. Foreign keys listed twice
The label for Exclusion constraint was set to 'Foreign keys'. fixed it.
2. Trigger function, Unique constraint, Primary key should be in title case
3. if user click outside of Preferences window it disappear (it should not disappear)
set preference alertify dialog option closableByDimmer to false.
4. Columns node settings listed twice
Override the register_preferences method in Columns CatalogObjectColumnsModule class
because there are two types of columns node, catalogs columns and tables columns.
so the settings for table columns should also work for catalog columns. Thats why we are not showing preference option for catalogs column node.
Ashesh fixed this issue.
are clicked without selecting any tree node. it gives error in browser
console panel.
Because the node passed is undefined. and check is missing. This is now
fixed by adding check for node passed.
This doesn't actually work - there seems to be something funky about
the way the runtime renders mfizz icons on Windows.
This reverts commit 5bbaf7841e.
As we convert the binary password to string during storing the
connection information, we also need to convert it back to byte-arrays
during restoring the connections.
Hence - decode the passowrd using 'utf-8' encoding during storing the
connection information, and encode it during restoring the connections.
When not using qtLiteral, it was result into an error - "unknown
error displayed when modify comments which may special characters on
Materialized view".
inaccessible.
In stand (without threaded) mode, flask application is not able to
process more than one request at a time. Hence - even the client
(browser) send multiple request, when connecting the server (which is
inaccessible), rest of operations get blocked, as making the connection
with the database server is blocking operation.
In order to fix the issue, we're starting the application with thread
support, in which it will create a separate thread of each request.
* Do not need to translate an empty string. (that results into the
translation header inclusion in the javacript module).
* String.prototype.StartsWith is not an well received function, it has
not been available in the QWebkit for linux.
The following node module script will be loaded, when first database
node object is added in the browser tree.
* Domains
* Foreign tables
* FTS Configuration
* FTS Dictionary, and
* Functions
Icons for these modules needs to be shown in the dependents list.
procedure node.
This patch also includes other fixes related 'procedure' node as below:
* Generate correct statement for dropping procedure.
* Fetch the missing schema name for the EXEC script.
* Removed the 'DROP CASCADE' menu options, as it is not supported by
procedure.
* Hide the security tab for the objects under the catalog schema.
Patched by Surinder Kumar, vastly improved by me.
* Make the securtiy label across all the nodes, using the same backbone
model across the nodes, and make changes in the backend code for the
same.
* Added 'catalog' as parent type for the domain, procedure nodes.
* Proper initialization of the FTS Configuration, FTS Parser, FTS
Dictionary, FTS Template Nodes.
* Proper Indentation in collection.js
* Moved the Columns, and Constraint to its repective tabs.
* Ensure all the labels only have a capital letter on the first word
(except for keywords or acronyms).
* Resolve the typo in string - 'System table'.
* Error messages on fields should not be shown unless the field loses
focus and has an error.
* "General" section should have a limited subset of information.
* Variables grids should not be on the Security tab.
* Fixes the field labels that imply a question.
* Privileges controls on the Properties lists should be in a "Security"
group.
Apart from review comments improved few other areas too:
* Used in-place DepsCell functionality for columns in both index, and
type node.
* Improved the error handling in constraint nodes.
* Added create, alert SQL Help for nodes associated with the table node.
file control selection button.
All our views are inherited from the Backform.Form (a extended
Backbone.View), which has an tag element set to 'form'. The default
action for a button in form is to submit the data, and that results into
undesirable redirection within our Views. We can resolve the issue of
redirection by setting 'preventDefault' to true in the click event
object on that button. But - we may use the button control within our
view in future, and that will have the similar behaviour. Keeping that
in mind, we set the default tag to 'div' instead of 'form' for all our
views.
ommit.
- Rename file/folder not working in list view.
- Selection folder only should not allow to select file.
- Ui changes in table list to match with the pgadmin color styles.
- Custom STORAGE_DIR path don't list files/folders when opened in window
system.
- Code cleanup, formatting & did proper commenting.
- In file selection mode, the value typed in text box not setting into
backbone model.
- Removed create file code, it should be handled on module using it.
- Written a common function to make ajax request, instead of writing
individual functions for same task.
- Table, Column, Index and Trigger (Author:- Murtuza Zabuawala)
- Constraints Primary Key/Unique/Check/Foreign Key/Exclusion
with integration into Table node (Author:- Harshal Dhumal)
- Rule (Author:- Surinder Kumar)
- Vacuum Control (Initial patch by Surinder Kumar and further enhancement by Murtuza)
In order to resolve the issue, set the height, width of the area (div)
under the wcFrame. wcIFrame consider the height, and width of this
container to determine the height, width & position of the iframe.
tree nodes.
Each individual node is responsible for introducing the 'canDrop'
function/flag to decide whether the 'Delete/Drop' context menu should be
enabled/disabled.
In commit-id: 26aa5607ad, 'obj.canDrop'
was set to true in the 'pgBrowser.Node' in delete callback, just to make
the server-group droppable, which is wrong, as all the nodes are
getting affected because of this change in a wrong way.
To fix the issue, added the 'canDrop' function in the server-group node.
Apart from them, also added restriction for not allowing to delete the
default server-group.
Also, handled the same restriction at the server end.
Changed its colour for better attendtion.
Reduced the margin-bottom for the backform-tab, so that - we can see the
control well in the properties dialog.
i.e. vacuum, analyze, reindex, cluster.
Tweaked by Ashesh for:
* Integrate it with the background process executor, and observer.
* Changed the UI for operation selection from select2 to custom radio
group.
* Made it consistent with other tools like backup, restore, etc.
Tweaked by Ashesh Vashi as below:
- Integrated it with the background process executor, and observer.
- Improved the message format of the backup module messages.
- Created an item in TODO list to list down the objects in the selected
backup file.
Tweaked by Ashesh Vashi to integrate the backgroud process, and also
with some improvements as stated below:
* Resolved an issue loading existing preference.
* Improved the background process observer/executor for supporting
detalied view.
* Added the utility path preferences in the ServerType class.
'postgis_tiger_geocoder'.
Current implementation changes the schema name, whenever we chance the
name, which is wrong. We should have not change the schema for this
event.
Thanks Fahar Abbas for reporting.
operation like backup, restore, etc within it.
Also:
* improvised the color combination of the background process logger.
* Removed an unnecessary print statement from the
get_storage_directory(..) function, also return None if STORAGE_DIR
is set to None.
* Do not show the drives on windows, if STORAGE_DIR is set.
* Do not show non-applicable buttons, whenever no files/directory
present in the storage directory.
* Showing dimmer under the warning messages for replace/delete.
* Select file type other than 'All Files' in create/replace mode.
Tweaked a bit by Ashesh.
1) Grant wizard close issue.
2) Moved grant wizard specific css from wizard.css to grant_wizard.css
3) removed 'ajs_content' css from wizard.css causing padding issue in alertify dialog
We will be using the external utilities like pg_dump, pg_dumpall,
pg_restore in background. pgAdmin 4 can be run as a CGI script, hence -
it is not good idea to run those utility in a controlled environment.
The process executor will run them in background, and we will execute
the process executor in detached mode.
Now that - the process executor runs in detached mode, we need an
observer, which will look at the status of the processes. It also reads
output, and error logs on demand.
Thanks - Surinder for helping in some of the UI changes.
selection, creation, upload/download files/directories resides on the
server side.
This will be useful for file selection/creation for different server
side utilites like pg_dump, pg_dumpall, pg_restore.