Hi Aditya,
thats it, I wasn't running yarn bundle after my modifications to the templates. 
Thanks for tip to run webpack in continuous mode, that's great.

Really appreciate the help in getting past this. 

Best Regards,Warren Chan

    On Thursday, 3 September 2020, 2:43:56 pm AEST, Aditya Toshniwal 
<aditya.toshni...@enterprisedb.com> wrote:  
 
 Hi Warren,
The patch works fine, just that replacing sequences with foos was missing at 
1-2 places. I guess you've not restarted the dev server after the changes. :)- 
Always restart the backend dev server if there is any change in Python or any 
template files.- You can run webpack in continuous watch mode with yarn run 
bundle:dev --watch. Always empty cache reload if there is any change in JS 
files. You can enable chrome dev tools and right click on the refresh button to 
get the option.
Here's what I've changed in your patch:
diff --git 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/foos/__init__.py 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/foos/__init__.py

index 3bc310d6f..52de71f0b 100644

--- 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/foos/__init__.py

+++ 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/foos/__init__.py

@@ -141,7 +141,7 @@ class FooView(PGChildNodeView, SchemaDiffObjectCompare):

                     if self.manager.db_info is not None and \

                     kwargs['did'] in self.manager.db_info else 0

 

-                self.template_path = 'sequences/sql/#{0}#'.format(

+                self.template_path = 'foos/sql/#{0}#'.format(

                     self.manager.version

                 )

                 self.acl = ['r', 'w', 'U']

diff --git 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/foos/templates/foos/sql/default/stats.sql
 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/foos/templates/foos/sql/default/stats.sql

index cd9b0154a..91a2f9259 100644

--- 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/foos/templates/foos/sql/default/stats.sql

+++ 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/foos/templates/foos/sql/default/stats.sql

@@ -4,4 +4,4 @@ SELECT

 FROM

     pg_statio_all_sequences

 WHERE

-    relid = {{ seid }}::OID

\ No newline at end of file

+    relid = {{ fooid }}::OID


On Thu, Sep 3, 2020 at 8:29 AM Warren Chan <wchan_...@yahoo.com.au> wrote:

 Hi Aditya,
thanks for helping, really appreciate you taking the time.
I've attached a patch as requested and yes, when i expand the new Foo node I've 
created, I get the following errors in the console:

2020-09-03 12:50:37,291: ERROR  flask.app:      404 Not Found: The requested 
URL was not found on the server. If you entered the URL manually please check 
your spelling and try again.
Traceback (most recent call last):
  File "C:\git\pgadmin4\pgadmin4\lib\site-packages\flask\app.py", line 1813, in 
full_dispatch_request
    rv = self.dispatch_request()
  File "C:\git\pgadmin4\pgadmin4\lib\site-packages\flask\app.py", line 1791, in 
dispatch_request
    self.raise_routing_exception(req)
  File "C:\git\pgadmin4\pgadmin4\lib\site-packages\flask\app.py", line 1774, in 
raise_routing_exception
    raise request.routing_exception
  File "C:\git\pgadmin4\pgadmin4\lib\site-packages\flask\ctx.py", line 336, in 
match_request
    self.url_adapter.match(return_rule=True)
  File "C:\git\pgadmin4\pgadmin4\lib\site-packages\werkzeug\routing.py", line 
1945, in match
    raise NotFound()
werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on 
the server. If you entered the URL manually please check your spelling and try 
again.
2020-09-03 12:50:37,372: ERROR  flask.app:      404 Not Found: The requested 
URL was not found on the server. If you entered the URL manually please check 
your spelling and try again.
Traceback (most recent call last):
  File "C:\git\pgadmin4\pgadmin4\lib\site-packages\flask\app.py", line 1813, in 
full_dispatch_request
    rv = self.dispatch_request()
  File "C:\git\pgadmin4\pgadmin4\lib\site-packages\flask\app.py", line 1791, in 
dispatch_request
    self.raise_routing_exception(req)
  File "C:\git\pgadmin4\pgadmin4\lib\site-packages\flask\app.py", line 1774, in 
raise_routing_exception
    raise request.routing_exception
  File "C:\git\pgadmin4\pgadmin4\lib\site-packages\flask\ctx.py", line 336, in 
match_request
    self.url_adapter.match(return_rule=True)
  File "C:\git\pgadmin4\pgadmin4\lib\site-packages\werkzeug\routing.py", line 
1945, in match
    raise NotFound()
werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on 
the server. If you entered the URL manually please check your spelling and try 
again.
Please let me know if you need anything else.
Best Regards,Warren Chan
   On Wednesday, 2 September 2020, 6:19:59 pm AEST, Aditya Toshniwal 
<aditya.toshni...@enterprisedb.com> wrote:  
 
 Hi Warren,
Can you check the browser console if any errors ? Can you also share the patch 
so that I can help you further by debugging at my end ?
On Wed, Sep 2, 2020 at 9:51 AM Warren Chan <wchan_...@yahoo.com.au> wrote:

Hi, 

I'm trying to learn about the pgAdmin4 project and am hoping to make some 
contributions sometime in the future.
I'm new to Flask and python but am keen to learn.
While trying to familiarize myself with the application and the way it works, 
I've tried to create a 'test' node under the schema node, I want to list test 
items under this node - not listing anything particular at the moment but 
wanted to get an understanding of how the application ties together). In order 
to just get a new node added under schema, I've copied the sequence folder 
under \web\pgadmin\browser\server_groups\servers\databases\schemas and renamed 
the applicable folders to tests (I want a test node to appear under schema).
I've updated the \tests\_init_.py file so that the SequenceModule has been 
changed to TestModule (updated the NODE_TYPE etc). I've also updated the 
SequenceView to become TestView and other parts of the view like the template 
path etc. 

In addition to this I've changed the name in the \tests\static\js\sequence.js 
file to \tests\static\js\test.js and have also updated the test.js file so that 
any references to sequence has been changed to test and have added 
'pgadmin.node.tests' to the webpack.config.js and 'pgadmin.node.test': 
path.join(__dirname, 
'./pgadmin/browser/server_groups/servers/databases/schemas/tests/static/js/test')
 to the webpack.shim.js file
Doing this I was hoping that a new 'Test' node would appear under the schema 
directory and opening this node, would render all the sequences (as I haven't 
changed any of the sql). However I only get the new 'Test' node being rendered, 
and when I open this, I get a Server Node with the server I'm connected to 
being added, not the list of sequences I was hoping for. 

Is there an additional setting / steps I need to add somewhere in order to get 
the TestView to render under the TestModule node?

I'd appreciate any pointers to get this working as the next thing I'd like, 
would be to start modifying the sql and getting different database objects 
being listed.
Best regards,Warren Chan





-- 
Thanks,Aditya Toshniwal
pgAdmin hacker | Sr. Software Engineer | edbpostgres.com"Don't Complain about 
Heat, Plant a TREE"  


-- 
Thanks,Aditya Toshniwal
pgAdmin hacker | Sr. Software Engineer | edbpostgres.com"Don't Complain about 
Heat, Plant a TREE"  

Reply via email to