Neither of those works. When I use "settings.register(ec2list.EC2ListPanel)" I get this error: "Error registering panel: 'module' object has no attribute 'EC2ListPanel'"
If I just use: settings.register(EC2ListPanel), I get the same sort of error: Error registering panel: name 'EC2ListPanel' is not defined -Wyllys On Mar 20, 2013, at 1:10 PM, "Lyle, David (Cloud Services)" <david.l...@hp.com> wrote: > But you should be registering the Panel like > settings.register(EC2ListPanel) > or settings.register(ec2list.EC2ListPanel) > > not ec2list > > -Dave > > -----Original Message----- > From: Wyllys Ingersoll [mailto:wyllys.ingers...@evault.com] > Sent: Wednesday, March 20, 2013 11:04 AM > To: Lyle, David (Cloud Services) > Cc: openstack@lists.launchpad.net > Subject: Re: register a new panel in overrides.py > > > Thats not working for me. > > My module is installed in > /usr/lib/python2.7/dist-packages/horizon/dashboards/settings as 'ec2list', it > is in the python path so thats not the issue. > > overrides.py looks like this: > ------------ > import horizon > import logging > > settings= horizon.get_dashboard('settings') > > LOG = logging.getLogger(__name__) > > import ec2list > > try: > settings.register(ec2list) > except Exception as exc: > LOG.debug("Error registering ec2list panel: %s" % exc) > ------------- > > I've also tried using ec2list.__class__, but then I get the following error: > "Error registering ec2list panel: Only Panel classes or subclasses may be > registered." > > However, my ec2list Panel is a valid panel, as is evident by the fact that > when I put it directly into the settings/dashboard.py file list of panels, it > works just fine. Here is the panel.py file: > > ------ > from django.utils.translation import ugettext_lazy as _ > > import horizon > from horizon.dashboards.settings import dashboard > > class EC2ListPanel(horizon.Panel): > name = _("EC2 List Credentials") > slug = 'ec2list' > > dashboard.Settings.register(EC2ListPanel) > --------- > > > > > > > On Mar 20, 2013, at 12:34 PM, "Lyle, David (Cloud Services)" > <david.l...@hp.com> wrote: > >> There's a couple of changes that you need to make... >> >> First, edit the overrides.py file: (e.g., if we wanted to add the panel to >> the admin dashboard so this uses the admin dashboard slug: 'admin') >> >> import horizon >> from path_to_module.panel import YourNewPanelClass >> >> admin_dashboard = horizon.get_dashboard("admin") >> admin_dashboard.register(YourNewPanelClass) >> >> >> Next, make sure your overrides.py file is being called in your settings.py >> >> HORIZON_CONFIG = { >> dashboards = ('project', 'admin','settings'), >> ..., >> 'customization_module': 'your_base_module.overrides' >> } >> >> -Dave >> >> -----Original Message----- >> From: openstack-bounces+david.lyle=hp....@lists.launchpad.net >> [mailto:openstack-bounces+david.lyle=hp....@lists.launchpad.net] On Behalf >> Of Wyllys Ingersoll >> Sent: Wednesday, March 20, 2013 9:50 AM >> To: openstack@lists.launchpad.net >> Subject: [Openstack] register a new panel in overrides.py >> >> >> Can someone give a pointer to how one goes about adding a new panel to an >> existing panel using overrides.py ? >> >> I know my panel is working because if I hardcode it into an existing >> dashboard.py file, it is found and displayed. I'd prefer to put it in >> overrides.py instead and am wondering how that would be coded. >> >> thanks, >> Wyllys >> >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~openstack >> Post to : openstack@lists.launchpad.net >> Unsubscribe : https://launchpad.net/~openstack >> More help : https://help.launchpad.net/ListHelp > _______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp