For now refreshing ngdetails view by browser using F5 key or reload
button, it causes 404 error from django. To fix this issue, this patch
adds the url for '/ngdetails'.
Furthermore, to specify current navigation and to check access grants
to current panel, each access to Horizon django framework needs its
dashboard and panel objects. It means that we need to specify dashboard
and panel that ngdetails view belongs to.
Also, this patch adds the process and settings to specify dashboard and
panel object for each ngdetails view.
Change-Id: I4bcffd2e222ce2df186551cceba0aa38f600d9c8
Closes-Bug: #1681627
The root cause of 1479018 was the mixed method for loading content in
horizon. This patch moves horizon to load purely from enabled files.
There are a couple of things that were required to allow this change.
1) Adding a mechanism, can_register() to horizon/base.py to handle the
configuration based loading checks that had been accumulating in the
panel.py files. This is an optional static method in Panel to
encapsulate such configuration (read settings) based panel loading
logic. And added testing for and documentation for this addition.
2) Create a numbering scheme for plugins. Moved the base dashboards to
_1000_project.py _2000_admin.py _3000_identity.py _5000_settings.py.
then populated the required panel_group and panel enabled files sparsely
in those ranges. The sparseness is to allow for future additions.
Additionally, I moved the already added Angular based panels next to
their Django counterparts.
Once the configuration loading was normalized, the bug reported in
1479018 was resolved and tests work with plugins panels in all
dashboards.
Close-Bug: #1479018
Partially implements: blueprint plugin-sanity
Change-Id: I657e7ce37b2593a901a859cebf3d6ff8ada91941