Merge lp://staging/~zulcss/ubuntu/precise/horizon/trunk into lp://staging/~ubuntu-cloud-archive/ubuntu/precise/horizon/trunk

Proposed by Chuck Short
Status: Merged
Approved by: James Page
Approved revision: 40
Merged at revision: 40
Proposed branch: lp://staging/~zulcss/ubuntu/precise/horizon/trunk
Merge into: lp://staging/~ubuntu-cloud-archive/ubuntu/precise/horizon/trunk
Diff against target: 165281 lines (+81252/-75650)
870 files modified
.bzrignore (+0/-12)
.pc/.quilt_patches (+0/-1)
.pc/.quilt_series (+0/-1)
.pc/.version (+0/-1)
.pc/add_juju_settings_panel.patch/horizon/dashboards/settings/dashboard.py (+0/-31)
.pc/applied-patches (+0/-5)
.pc/fix-dashboard-django-wsgi.patch/openstack_dashboard/wsgi/django.wsgi (+0/-15)
.pc/fix-dashboard-manage.patch/manage.py (+0/-11)
.pc/fix-ubuntu-tests.patch/horizon/tests/testsettings.py (+0/-197)
.pc/fix-ubuntu-tests.patch/run_tests.sh (+0/-427)
.pc/ubuntu_local_settings.patch/openstack_dashboard/local/local_settings.py.example (+0/-147)
AUTHORS (+8/-0)
ChangeLog (+2476/-31)
MANIFEST.in (+1/-1)
PKG-INFO (+2/-1)
debian/changelog (+18/-0)
debian/patches/fix-dashboard-manage.patch (+4/-5)
debian/patches/fix-ubuntu-tests.patch (+15/-29)
debian/patches/series (+4/-1)
debian/patches/ubuntu_local_settings.patch (+13/-26)
doc/source/ref/run_tests.rst (+19/-0)
doc/source/ref/test.rst (+12/-4)
doc/source/testing.rst (+2/-0)
doc/source/topics/testing.rst (+15/-15)
horizon.egg-info/PKG-INFO (+2/-1)
horizon.egg-info/SOURCES.txt (+441/-415)
horizon.egg-info/requires.txt (+2/-1)
horizon/__init__.py (+1/-1)
horizon/api/__init__.py (+0/-39)
horizon/api/base.py (+0/-118)
horizon/api/glance.py (+0/-98)
horizon/api/keystone.py (+0/-290)
horizon/api/nova.py (+0/-585)
horizon/api/quantum.py (+0/-261)
horizon/api/swift.py (+0/-264)
horizon/base.py (+8/-24)
horizon/conf/__init__.py (+35/-0)
horizon/conf/default.py (+30/-0)
horizon/conf/panel_template/tests.py.tmpl (+1/-1)
horizon/conf/panel_template/urls.py (+1/-0)
horizon/context_processors.py (+5/-35)
horizon/dashboards/nova/access_and_security/floating_ips/forms.py (+0/-46)
horizon/dashboards/nova/access_and_security/floating_ips/tables.py (+0/-129)
horizon/dashboards/nova/access_and_security/floating_ips/tests.py (+0/-176)
horizon/dashboards/nova/access_and_security/floating_ips/urls.py (+0/-29)
horizon/dashboards/nova/access_and_security/floating_ips/views.py (+0/-68)
horizon/dashboards/nova/access_and_security/floating_ips/workflows.py (+0/-114)
horizon/dashboards/nova/access_and_security/keypairs/forms.py (+0/-66)
horizon/dashboards/nova/access_and_security/keypairs/tables.py (+0/-61)
horizon/dashboards/nova/access_and_security/keypairs/tests.py (+0/-162)
horizon/dashboards/nova/access_and_security/keypairs/urls.py (+0/-33)
horizon/dashboards/nova/access_and_security/keypairs/views.py (+0/-81)
horizon/dashboards/nova/access_and_security/panel.py (+0/-29)
horizon/dashboards/nova/access_and_security/security_groups/forms.py (+0/-173)
horizon/dashboards/nova/access_and_security/security_groups/tables.py (+0/-108)
horizon/dashboards/nova/access_and_security/security_groups/tests.py (+0/-374)
horizon/dashboards/nova/access_and_security/security_groups/urls.py (+0/-30)
horizon/dashboards/nova/access_and_security/security_groups/views.py (+0/-119)
horizon/dashboards/nova/access_and_security/templates/access_and_security/floating_ips/_allocate.html (+0/-33)
horizon/dashboards/nova/access_and_security/templates/access_and_security/floating_ips/allocate.html (+0/-7)
horizon/dashboards/nova/access_and_security/templates/access_and_security/floating_ips/associate.html (+0/-11)
horizon/dashboards/nova/access_and_security/templates/access_and_security/index.html (+0/-21)
horizon/dashboards/nova/access_and_security/templates/access_and_security/keypairs/_create.html (+0/-25)
horizon/dashboards/nova/access_and_security/templates/access_and_security/keypairs/_import.html (+0/-25)
horizon/dashboards/nova/access_and_security/templates/access_and_security/keypairs/create.html (+0/-12)
horizon/dashboards/nova/access_and_security/templates/access_and_security/keypairs/download.html (+0/-21)
horizon/dashboards/nova/access_and_security/templates/access_and_security/keypairs/import.html (+0/-12)
horizon/dashboards/nova/access_and_security/templates/access_and_security/security_groups/_create.html (+0/-25)
horizon/dashboards/nova/access_and_security/templates/access_and_security/security_groups/_edit_rules.html (+0/-21)
horizon/dashboards/nova/access_and_security/templates/access_and_security/security_groups/create.html (+0/-11)
horizon/dashboards/nova/access_and_security/templates/access_and_security/security_groups/edit_rules.html (+0/-11)
horizon/dashboards/nova/access_and_security/tests.py (+0/-86)
horizon/dashboards/nova/access_and_security/urls.py (+0/-34)
horizon/dashboards/nova/access_and_security/views.py (+0/-83)
horizon/dashboards/nova/containers/browsers.py (+0/-37)
horizon/dashboards/nova/containers/forms.py (+0/-164)
horizon/dashboards/nova/containers/panel.py (+0/-32)
horizon/dashboards/nova/containers/tables.py (+0/-269)
horizon/dashboards/nova/containers/templates/containers/_copy.html (+0/-24)
horizon/dashboards/nova/containers/templates/containers/_create.html (+0/-24)
horizon/dashboards/nova/containers/templates/containers/_upload.html (+0/-25)
horizon/dashboards/nova/containers/templates/containers/copy.html (+0/-13)
horizon/dashboards/nova/containers/templates/containers/create.html (+0/-11)
horizon/dashboards/nova/containers/templates/containers/index.html (+0/-13)
horizon/dashboards/nova/containers/templates/containers/upload.html (+0/-15)
horizon/dashboards/nova/containers/tests.py (+0/-237)
horizon/dashboards/nova/containers/urls.py (+0/-48)
horizon/dashboards/nova/containers/views.py (+0/-217)
horizon/dashboards/nova/dashboard.py (+0/-47)
horizon/dashboards/nova/images_and_snapshots/images/forms.py (+0/-164)
horizon/dashboards/nova/images_and_snapshots/images/panel.py (+0/-30)
horizon/dashboards/nova/images_and_snapshots/images/tables.py (+0/-134)
horizon/dashboards/nova/images_and_snapshots/images/tabs.py (+0/-44)
horizon/dashboards/nova/images_and_snapshots/images/tests.py (+0/-96)
horizon/dashboards/nova/images_and_snapshots/images/urls.py (+0/-32)
horizon/dashboards/nova/images_and_snapshots/images/views.py (+0/-83)
horizon/dashboards/nova/images_and_snapshots/panel.py (+0/-29)
horizon/dashboards/nova/images_and_snapshots/snapshots/forms.py (+0/-56)
horizon/dashboards/nova/images_and_snapshots/snapshots/panel.py (+0/-30)
horizon/dashboards/nova/images_and_snapshots/snapshots/tables.py (+0/-59)
horizon/dashboards/nova/images_and_snapshots/snapshots/tests.py (+0/-97)
horizon/dashboards/nova/images_and_snapshots/snapshots/urls.py (+0/-30)
horizon/dashboards/nova/images_and_snapshots/snapshots/views.py (+0/-62)
horizon/dashboards/nova/images_and_snapshots/templates/images_and_snapshots/images/_create.html (+0/-33)
horizon/dashboards/nova/images_and_snapshots/templates/images_and_snapshots/images/_detail_overview.html (+0/-68)
horizon/dashboards/nova/images_and_snapshots/templates/images_and_snapshots/images/_update.html (+0/-24)
horizon/dashboards/nova/images_and_snapshots/templates/images_and_snapshots/images/create.html (+0/-11)
horizon/dashboards/nova/images_and_snapshots/templates/images_and_snapshots/images/detail.html (+0/-16)
horizon/dashboards/nova/images_and_snapshots/templates/images_and_snapshots/images/update.html (+0/-11)
horizon/dashboards/nova/images_and_snapshots/templates/images_and_snapshots/index.html (+0/-19)
horizon/dashboards/nova/images_and_snapshots/templates/images_and_snapshots/snapshots/_create.html (+0/-25)
horizon/dashboards/nova/images_and_snapshots/templates/images_and_snapshots/snapshots/_detail_overview.html (+0/-42)
horizon/dashboards/nova/images_and_snapshots/templates/images_and_snapshots/snapshots/create.html (+0/-11)
horizon/dashboards/nova/images_and_snapshots/templates/images_and_snapshots/snapshots/detail.html (+0/-15)
horizon/dashboards/nova/images_and_snapshots/tests.py (+0/-169)
horizon/dashboards/nova/images_and_snapshots/urls.py (+0/-35)
horizon/dashboards/nova/images_and_snapshots/views.py (+0/-88)
horizon/dashboards/nova/images_and_snapshots/volume_snapshots/panel.py (+0/-26)
horizon/dashboards/nova/images_and_snapshots/volume_snapshots/tables.py (+0/-88)
horizon/dashboards/nova/images_and_snapshots/volume_snapshots/tabs.py (+0/-48)
horizon/dashboards/nova/images_and_snapshots/volume_snapshots/tests.py (+0/-59)
horizon/dashboards/nova/instances/forms.py (+0/-50)
horizon/dashboards/nova/instances/panel.py (+0/-28)
horizon/dashboards/nova/instances/tables.py (+0/-319)
horizon/dashboards/nova/instances/tabs.py (+0/-77)
horizon/dashboards/nova/instances/templates/instances/_detail_log.html (+0/-17)
horizon/dashboards/nova/instances/templates/instances/_detail_overview.html (+0/-98)
horizon/dashboards/nova/instances/templates/instances/_detail_vnc.html (+0/-10)
horizon/dashboards/nova/instances/templates/instances/_instance_ips.html (+0/-10)
horizon/dashboards/nova/instances/templates/instances/_launch_customize_help.html (+0/-3)
horizon/dashboards/nova/instances/templates/instances/_launch_details_help.html (+0/-53)
horizon/dashboards/nova/instances/templates/instances/_launch_volumes_help.html (+0/-3)
horizon/dashboards/nova/instances/templates/instances/_update.html (+0/-24)
horizon/dashboards/nova/instances/templates/instances/detail.html (+0/-15)
horizon/dashboards/nova/instances/templates/instances/index.html (+0/-11)
horizon/dashboards/nova/instances/templates/instances/launch.html (+0/-11)
horizon/dashboards/nova/instances/templates/instances/update.html (+0/-11)
horizon/dashboards/nova/instances/tests.py (+0/-982)
horizon/dashboards/nova/instances/urls.py (+0/-36)
horizon/dashboards/nova/instances/views.py (+0/-186)
horizon/dashboards/nova/instances/workflows.py (+0/-510)
horizon/dashboards/nova/models.py (+0/-23)
horizon/dashboards/nova/networks/forms.py (+0/-55)
horizon/dashboards/nova/networks/panel.py (+0/-28)
horizon/dashboards/nova/networks/ports/tables.py (+0/-53)
horizon/dashboards/nova/networks/ports/tabs.py (+0/-46)
horizon/dashboards/nova/networks/ports/urls.py (+0/-24)
horizon/dashboards/nova/networks/ports/views.py (+0/-28)
horizon/dashboards/nova/networks/subnets/forms.py (+0/-138)
horizon/dashboards/nova/networks/subnets/tables.py (+0/-105)
horizon/dashboards/nova/networks/subnets/tabs.py (+0/-48)
horizon/dashboards/nova/networks/subnets/urls.py (+0/-24)
horizon/dashboards/nova/networks/subnets/views.py (+0/-109)
horizon/dashboards/nova/networks/tables.py (+0/-107)
horizon/dashboards/nova/networks/templates/networks/_create.html (+0/-24)
horizon/dashboards/nova/networks/templates/networks/_detail_overview.html (+0/-20)
horizon/dashboards/nova/networks/templates/networks/_network_ips.html (+0/-10)
horizon/dashboards/nova/networks/templates/networks/_update.html (+0/-24)
horizon/dashboards/nova/networks/templates/networks/create.html (+0/-11)
horizon/dashboards/nova/networks/templates/networks/detail.html (+0/-18)
horizon/dashboards/nova/networks/templates/networks/index.html (+0/-11)
horizon/dashboards/nova/networks/templates/networks/ports/_detail_overview.html (+0/-41)
horizon/dashboards/nova/networks/templates/networks/ports/_port_ips.html (+0/-7)
horizon/dashboards/nova/networks/templates/networks/ports/detail.html (+0/-15)
horizon/dashboards/nova/networks/templates/networks/subnets/_create.html (+0/-25)
horizon/dashboards/nova/networks/templates/networks/subnets/_detail_overview.html (+0/-29)
horizon/dashboards/nova/networks/templates/networks/subnets/_update.html (+0/-33)
horizon/dashboards/nova/networks/templates/networks/subnets/create.html (+0/-11)
horizon/dashboards/nova/networks/templates/networks/subnets/detail.html (+0/-15)
horizon/dashboards/nova/networks/templates/networks/subnets/index.html (+0/-11)
horizon/dashboards/nova/networks/templates/networks/subnets/update.html (+0/-11)
horizon/dashboards/nova/networks/templates/networks/update.html (+0/-11)
horizon/dashboards/nova/networks/tests.py (+0/-783)
horizon/dashboards/nova/networks/urls.py (+0/-37)
horizon/dashboards/nova/networks/views.py (+0/-143)
horizon/dashboards/nova/networks/workflows.py (+0/-161)
horizon/dashboards/nova/overview/panel.py (+0/-32)
horizon/dashboards/nova/overview/templates/overview/usage.csv (+0/-11)
horizon/dashboards/nova/overview/templates/overview/usage.html (+0/-13)
horizon/dashboards/nova/overview/tests.py (+0/-143)
horizon/dashboards/nova/overview/urls.py (+0/-29)
horizon/dashboards/nova/overview/views.py (+0/-37)
horizon/dashboards/nova/templates/nova/_warning.html (+0/-32)
horizon/dashboards/nova/volumes/forms.py (+0/-219)
horizon/dashboards/nova/volumes/panel.py (+0/-29)
horizon/dashboards/nova/volumes/tables.py (+0/-226)
horizon/dashboards/nova/volumes/tabs.py (+0/-48)
horizon/dashboards/nova/volumes/templates/volumes/_attach.html (+0/-25)
horizon/dashboards/nova/volumes/templates/volumes/_create.html (+0/-57)
horizon/dashboards/nova/volumes/templates/volumes/_create_snapshot.html (+0/-25)
horizon/dashboards/nova/volumes/templates/volumes/_detail_overview.html (+0/-49)
horizon/dashboards/nova/volumes/templates/volumes/attach.html (+0/-11)
horizon/dashboards/nova/volumes/templates/volumes/create.html (+0/-11)
horizon/dashboards/nova/volumes/templates/volumes/create_snapshot.html (+0/-11)
horizon/dashboards/nova/volumes/templates/volumes/detail.html (+0/-15)
horizon/dashboards/nova/volumes/templates/volumes/index.html (+0/-11)
horizon/dashboards/nova/volumes/tests.py (+0/-328)
horizon/dashboards/nova/volumes/urls.py (+0/-35)
horizon/dashboards/nova/volumes/views.py (+0/-184)
horizon/dashboards/settings/dashboard.py (+0/-40)
horizon/dashboards/settings/ec2/forms.py (+0/-109)
horizon/dashboards/settings/ec2/panel.py (+0/-28)
horizon/dashboards/settings/ec2/templates/ec2/download_form.html (+0/-25)
horizon/dashboards/settings/ec2/templates/ec2/ec2rc.sh.template (+0/-15)
horizon/dashboards/settings/ec2/templates/ec2/index.html (+0/-11)
horizon/dashboards/settings/ec2/tests.py (+0/-69)
horizon/dashboards/settings/ec2/urls.py (+0/-23)
horizon/dashboards/settings/ec2/views.py (+0/-31)
horizon/dashboards/settings/juju/__init__.py (+0/-1)
horizon/dashboards/settings/juju/forms.py (+0/-100)
horizon/dashboards/settings/juju/panel.py (+0/-28)
horizon/dashboards/settings/juju/urls.py (+0/-24)
horizon/dashboards/settings/juju/views.py (+0/-35)
horizon/dashboards/settings/models.py (+0/-23)
horizon/dashboards/settings/project/forms.py (+0/-71)
horizon/dashboards/settings/project/panel.py (+0/-28)
horizon/dashboards/settings/project/tables.py (+0/-33)
horizon/dashboards/settings/project/templates/project/_openrc.html (+0/-32)
horizon/dashboards/settings/project/templates/project/openrc.sh.template (+0/-24)
horizon/dashboards/settings/project/templates/project/settings.html (+0/-11)
horizon/dashboards/settings/project/urls.py (+0/-23)
horizon/dashboards/settings/project/views.py (+0/-44)
horizon/dashboards/settings/templates/settings/juju/download_form.html (+0/-20)
horizon/dashboards/settings/templates/settings/juju/environments.yaml.template (+0/-21)
horizon/dashboards/settings/templates/settings/juju/index.html (+0/-11)
horizon/dashboards/settings/user/forms.py (+0/-59)
horizon/dashboards/settings/user/panel.py (+0/-28)
horizon/dashboards/settings/user/templates/user/_settings.html (+0/-26)
horizon/dashboards/settings/user/templates/user/settings.html (+0/-11)
horizon/dashboards/settings/user/urls.py (+0/-23)
horizon/dashboards/settings/user/views.py (+0/-31)
horizon/dashboards/syspanel/dashboard.py (+0/-37)
horizon/dashboards/syspanel/flavors/forms.py (+0/-95)
horizon/dashboards/syspanel/flavors/panel.py (+0/-32)
horizon/dashboards/syspanel/flavors/tables.py (+0/-53)
horizon/dashboards/syspanel/flavors/templates/flavors/_create.html (+0/-25)
horizon/dashboards/syspanel/flavors/templates/flavors/_edit.html (+0/-26)
horizon/dashboards/syspanel/flavors/templates/flavors/create.html (+0/-11)
horizon/dashboards/syspanel/flavors/templates/flavors/edit.html (+0/-11)
horizon/dashboards/syspanel/flavors/templates/flavors/index.html (+0/-11)
horizon/dashboards/syspanel/flavors/tests.py (+0/-81)
horizon/dashboards/syspanel/flavors/urls.py (+0/-28)
horizon/dashboards/syspanel/flavors/views.py (+0/-81)
horizon/dashboards/syspanel/images/forms.py (+0/-25)
horizon/dashboards/syspanel/images/panel.py (+0/-32)
horizon/dashboards/syspanel/images/tables.py (+0/-45)
horizon/dashboards/syspanel/images/templates/images/_update.html (+0/-25)
horizon/dashboards/syspanel/images/templates/images/index.html (+0/-11)
horizon/dashboards/syspanel/images/templates/images/update.html (+0/-12)
horizon/dashboards/syspanel/images/tests.py (+0/-97)
horizon/dashboards/syspanel/images/urls.py (+0/-30)
horizon/dashboards/syspanel/images/views.py (+0/-66)
horizon/dashboards/syspanel/instances/panel.py (+0/-33)
horizon/dashboards/syspanel/instances/tables.py (+0/-99)
horizon/dashboards/syspanel/instances/templates/instances/index.html (+0/-11)
horizon/dashboards/syspanel/instances/tests.py (+0/-142)
horizon/dashboards/syspanel/instances/urls.py (+0/-34)
horizon/dashboards/syspanel/instances/views.py (+0/-81)
horizon/dashboards/syspanel/models.py (+0/-23)
horizon/dashboards/syspanel/networks/forms.py (+0/-89)
horizon/dashboards/syspanel/networks/panel.py (+0/-28)
horizon/dashboards/syspanel/networks/ports/forms.py (+0/-92)
horizon/dashboards/syspanel/networks/ports/tables.py (+0/-85)
horizon/dashboards/syspanel/networks/ports/tabs.py (+0/-46)
horizon/dashboards/syspanel/networks/ports/urls.py (+0/-24)
horizon/dashboards/syspanel/networks/ports/views.py (+0/-98)
horizon/dashboards/syspanel/networks/subnets/forms.py (+0/-52)
horizon/dashboards/syspanel/networks/subnets/tables.py (+0/-82)
horizon/dashboards/syspanel/networks/subnets/urls.py (+0/-24)
horizon/dashboards/syspanel/networks/subnets/views.py (+0/-101)
horizon/dashboards/syspanel/networks/tables.py (+0/-82)
horizon/dashboards/syspanel/networks/templates/networks/_create.html (+0/-25)
horizon/dashboards/syspanel/networks/templates/networks/_update.html (+0/-24)
horizon/dashboards/syspanel/networks/templates/networks/create.html (+0/-11)
horizon/dashboards/syspanel/networks/templates/networks/index.html (+0/-21)
horizon/dashboards/syspanel/networks/templates/networks/ports/_create.html (+0/-25)
horizon/dashboards/syspanel/networks/templates/networks/ports/_update.html (+0/-29)
horizon/dashboards/syspanel/networks/templates/networks/ports/create.html (+0/-11)
horizon/dashboards/syspanel/networks/templates/networks/ports/update.html (+0/-11)
horizon/dashboards/syspanel/networks/templates/networks/subnets/_create.html (+0/-25)
horizon/dashboards/syspanel/networks/templates/networks/subnets/_update.html (+0/-33)
horizon/dashboards/syspanel/networks/templates/networks/subnets/create.html (+0/-11)
horizon/dashboards/syspanel/networks/templates/networks/subnets/index.html (+0/-11)
horizon/dashboards/syspanel/networks/templates/networks/subnets/update.html (+0/-11)
horizon/dashboards/syspanel/networks/templates/networks/update.html (+0/-11)
horizon/dashboards/syspanel/networks/tests.py (+0/-805)
horizon/dashboards/syspanel/networks/urls.py (+0/-45)
horizon/dashboards/syspanel/networks/views.py (+0/-140)
horizon/dashboards/syspanel/overview/panel.py (+0/-33)
horizon/dashboards/syspanel/overview/templates/overview/usage.csv (+0/-9)
horizon/dashboards/syspanel/overview/templates/overview/usage.html (+0/-22)
horizon/dashboards/syspanel/overview/tests.py (+0/-95)
horizon/dashboards/syspanel/overview/urls.py (+0/-28)
horizon/dashboards/syspanel/overview/views.py (+0/-48)
horizon/dashboards/syspanel/projects/forms.py (+0/-33)
horizon/dashboards/syspanel/projects/panel.py (+0/-32)
horizon/dashboards/syspanel/projects/tables.py (+0/-157)
horizon/dashboards/syspanel/projects/templates/projects/_add_user.html (+0/-25)
horizon/dashboards/syspanel/projects/templates/projects/_create.html (+0/-25)
horizon/dashboards/syspanel/projects/templates/projects/_create_user.html (+0/-25)
horizon/dashboards/syspanel/projects/templates/projects/_quotas.html (+0/-24)
horizon/dashboards/syspanel/projects/templates/projects/_update.html (+0/-25)
horizon/dashboards/syspanel/projects/templates/projects/_update_members.html (+0/-39)
horizon/dashboards/syspanel/projects/templates/projects/add_user.html (+0/-11)
horizon/dashboards/syspanel/projects/templates/projects/create.html (+0/-12)
horizon/dashboards/syspanel/projects/templates/projects/create_user.html (+0/-12)
horizon/dashboards/syspanel/projects/templates/projects/index.html (+0/-13)
horizon/dashboards/syspanel/projects/templates/projects/quotas.html (+0/-11)
horizon/dashboards/syspanel/projects/templates/projects/update.html (+0/-12)
horizon/dashboards/syspanel/projects/templates/projects/usage.csv (+0/-11)
horizon/dashboards/syspanel/projects/templates/projects/usage.html (+0/-14)
horizon/dashboards/syspanel/projects/templates/projects/users.html (+0/-18)
horizon/dashboards/syspanel/projects/tests.py (+0/-842)
horizon/dashboards/syspanel/projects/urls.py (+0/-37)
horizon/dashboards/syspanel/projects/views.py (+0/-203)
horizon/dashboards/syspanel/projects/workflows.py (+0/-364)
horizon/dashboards/syspanel/quotas/panel.py (+0/-32)
horizon/dashboards/syspanel/quotas/tables.py (+0/-38)
horizon/dashboards/syspanel/quotas/templates/quotas/index.html (+0/-13)
horizon/dashboards/syspanel/quotas/urls.py (+0/-27)
horizon/dashboards/syspanel/quotas/views.py (+0/-46)
horizon/dashboards/syspanel/services/panel.py (+0/-32)
horizon/dashboards/syspanel/services/tables.py (+0/-50)
horizon/dashboards/syspanel/services/templates/services/index.html (+0/-14)
horizon/dashboards/syspanel/services/tests.py (+0/-36)
horizon/dashboards/syspanel/services/urls.py (+0/-27)
horizon/dashboards/syspanel/services/views.py (+0/-40)
horizon/dashboards/syspanel/users/forms.py (+0/-195)
horizon/dashboards/syspanel/users/panel.py (+0/-32)
horizon/dashboards/syspanel/users/tables.py (+0/-123)
horizon/dashboards/syspanel/users/templates/users/_create.html (+0/-24)
horizon/dashboards/syspanel/users/templates/users/_update.html (+0/-24)
horizon/dashboards/syspanel/users/templates/users/create.html (+0/-12)
horizon/dashboards/syspanel/users/templates/users/index.html (+0/-13)
horizon/dashboards/syspanel/users/templates/users/update.html (+0/-12)
horizon/dashboards/syspanel/users/tests.py (+0/-356)
horizon/dashboards/syspanel/users/urls.py (+0/-28)
horizon/dashboards/syspanel/users/views.py (+0/-111)
horizon/dashboards/syspanel/volumes/panel.py (+0/-14)
horizon/dashboards/syspanel/volumes/tables.py (+0/-19)
horizon/dashboards/syspanel/volumes/templates/volumes/detail.html (+0/-15)
horizon/dashboards/syspanel/volumes/templates/volumes/index.html (+0/-13)
horizon/dashboards/syspanel/volumes/tests.py (+0/-39)
horizon/dashboards/syspanel/volumes/urls.py (+0/-8)
horizon/dashboards/syspanel/volumes/views.py (+0/-39)
horizon/decorators.py (+2/-2)
horizon/exceptions.py (+4/-6)
horizon/forms/__init__.py (+1/-2)
horizon/forms/views.py (+2/-2)
horizon/locale/bg_BG/LC_MESSAGES/django.po (+89/-3359)
horizon/locale/bg_BG/LC_MESSAGES/djangojs.po (+1/-1)
horizon/locale/en/LC_MESSAGES/django.po (+89/-3421)
horizon/locale/en/LC_MESSAGES/djangojs.po (+1/-1)
horizon/locale/es/LC_MESSAGES/django.po (+89/-3469)
horizon/locale/es/LC_MESSAGES/djangojs.po (+1/-1)
horizon/locale/fr/LC_MESSAGES/django.po (+89/-3332)
horizon/locale/fr/LC_MESSAGES/djangojs.po (+1/-1)
horizon/locale/it/LC_MESSAGES/django.po (+89/-3382)
horizon/locale/it/LC_MESSAGES/djangojs.po (+1/-1)
horizon/locale/ja/LC_MESSAGES/django.po (+89/-3456)
horizon/locale/ja/LC_MESSAGES/djangojs.po (+1/-1)
horizon/locale/ko_KR/LC_MESSAGES/django.po (+87/-3331)
horizon/locale/ko_KR/LC_MESSAGES/djangojs.po (+1/-1)
horizon/locale/nl_NL/LC_MESSAGES/django.po (+89/-3335)
horizon/locale/nl_NL/LC_MESSAGES/djangojs.po (+1/-1)
horizon/locale/pl/LC_MESSAGES/django.po (+92/-3573)
horizon/locale/pl/LC_MESSAGES/djangojs.po (+1/-1)
horizon/locale/pt/LC_MESSAGES/django.po (+89/-3395)
horizon/locale/pt/LC_MESSAGES/djangojs.po (+1/-1)
horizon/locale/pt_BR/LC_MESSAGES/django.po (+89/-3383)
horizon/locale/pt_BR/LC_MESSAGES/djangojs.po (+1/-1)
horizon/locale/ru/LC_MESSAGES/django.po (+89/-3332)
horizon/locale/ru/LC_MESSAGES/djangojs.po (+1/-1)
horizon/locale/zh_CN/LC_MESSAGES/django.po (+87/-3339)
horizon/locale/zh_CN/LC_MESSAGES/djangojs.po (+1/-1)
horizon/locale/zh_TW/LC_MESSAGES/django.po (+91/-3368)
horizon/locale/zh_TW/LC_MESSAGES/djangojs.po (+1/-1)
horizon/management/commands/startpanel.py (+1/-2)
horizon/middleware.py (+13/-8)
horizon/openstack/common/jsonutils.py (+0/-144)
horizon/openstack/common/setup.py (+0/-200)
horizon/site_urls.py (+1/-0)
horizon/static/horizon/js/horizon.communication.js (+1/-1)
horizon/static/horizon/js/horizon.quota.js (+1/-1)
horizon/static/horizon/js/horizon.tables.js (+2/-2)
horizon/static/horizon/js/horizon.users.js (+31/-0)
horizon/tables/base.py (+3/-2)
horizon/templates/_header.html (+0/-2)
horizon/templates/_stylesheets.html (+1/-0)
horizon/templates/auth/_login.html (+9/-0)
horizon/templates/base.html (+0/-12)
horizon/templates/horizon/_scripts.html (+1/-0)
horizon/templates/horizon/common/_modal.html (+10/-0)
horizon/templates/horizon/common/_quota_summary.html (+16/-8)
horizon/templatetags/horizon.py (+6/-0)
horizon/test.py (+0/-363)
horizon/test/helpers.py (+170/-0)
horizon/test/settings.py (+177/-0)
horizon/test/templates/_tab.html (+1/-0)
horizon/test/templates/tab_group.html (+1/-0)
horizon/test/templates/workflow.html (+1/-0)
horizon/test/test_dashboards/cats/dashboard.py (+25/-0)
horizon/test/test_dashboards/cats/kittens/models.py (+3/-0)
horizon/test/test_dashboards/cats/kittens/panel.py (+14/-0)
horizon/test/test_dashboards/cats/kittens/templates/kittens/index.html (+12/-0)
horizon/test/test_dashboards/cats/kittens/urls.py (+7/-0)
horizon/test/test_dashboards/cats/kittens/views.py (+10/-0)
horizon/test/test_dashboards/cats/models.py (+3/-0)
horizon/test/test_dashboards/cats/static/cats/css/cats.css (+1/-0)
horizon/test/test_dashboards/cats/static/cats/js/cats.js (+1/-0)
horizon/test/test_dashboards/cats/templates/cats/base.html (+11/-0)
horizon/test/test_dashboards/cats/tigers/models.py (+3/-0)
horizon/test/test_dashboards/cats/tigers/panel.py (+14/-0)
horizon/test/test_dashboards/cats/tigers/templates/tigers/index.html (+12/-0)
horizon/test/test_dashboards/cats/tigers/urls.py (+7/-0)
horizon/test/test_dashboards/cats/tigers/views.py (+10/-0)
horizon/test/test_dashboards/dogs/dashboard.py (+13/-0)
horizon/test/test_dashboards/dogs/models.py (+3/-0)
horizon/test/test_dashboards/dogs/puppies/models.py (+3/-0)
horizon/test/test_dashboards/dogs/puppies/panel.py (+13/-0)
horizon/test/test_dashboards/dogs/puppies/templates/puppies/index.html (+12/-0)
horizon/test/test_dashboards/dogs/puppies/urls.py (+7/-0)
horizon/test/test_dashboards/dogs/puppies/views.py (+10/-0)
horizon/test/test_dashboards/dogs/static/dogs/css/dogs.css (+1/-0)
horizon/test/test_dashboards/dogs/static/dogs/js/dogs.js (+1/-0)
horizon/test/test_dashboards/dogs/templates/dogs/base.html (+11/-0)
horizon/test/tests/base.py (+294/-0)
horizon/test/tests/messages.py (+41/-0)
horizon/test/tests/middleware.py (+34/-0)
horizon/test/tests/selenium.py (+31/-0)
horizon/test/tests/tables.py (+675/-0)
horizon/test/tests/tabs.py (+306/-0)
horizon/test/tests/templatetags.py (+49/-0)
horizon/test/tests/utils.py (+196/-0)
horizon/test/tests/workflows.py (+266/-0)
horizon/test/urls.py (+43/-0)
horizon/tests/__init__.py (+0/-21)
horizon/tests/api_tests/base_tests.py (+0/-148)
horizon/tests/api_tests/glance_tests.py (+0/-67)
horizon/tests/api_tests/keystone_tests.py (+0/-98)
horizon/tests/api_tests/nova_tests.py (+0/-206)
horizon/tests/api_tests/quantum_tests.py (+0/-205)
horizon/tests/api_tests/swift_tests.py (+0/-120)
horizon/tests/base_tests.py (+0/-341)
horizon/tests/message_tests.py (+0/-40)
horizon/tests/selenium_tests.py (+0/-38)
horizon/tests/table_tests.py (+0/-675)
horizon/tests/tabs_tests.py (+0/-306)
horizon/tests/templates/_tab.html (+0/-1)
horizon/tests/templates/tab_group.html (+0/-1)
horizon/tests/templates/workflow.html (+0/-1)
horizon/tests/templatetag_tests.py (+0/-50)
horizon/tests/test_dashboards/cats/dashboard.py (+0/-25)
horizon/tests/test_dashboards/cats/kittens/models.py (+0/-3)
horizon/tests/test_dashboards/cats/kittens/panel.py (+0/-14)
horizon/tests/test_dashboards/cats/kittens/templates/kittens/index.html (+0/-12)
horizon/tests/test_dashboards/cats/kittens/tests.py (+0/-7)
horizon/tests/test_dashboards/cats/kittens/urls.py (+0/-7)
horizon/tests/test_dashboards/cats/kittens/views.py (+0/-10)
horizon/tests/test_dashboards/cats/models.py (+0/-3)
horizon/tests/test_dashboards/cats/static/cats/css/cats.css (+0/-1)
horizon/tests/test_dashboards/cats/static/cats/js/cats.js (+0/-1)
horizon/tests/test_dashboards/cats/templates/cats/base.html (+0/-11)
horizon/tests/test_dashboards/cats/tigers/models.py (+0/-3)
horizon/tests/test_dashboards/cats/tigers/panel.py (+0/-14)
horizon/tests/test_dashboards/cats/tigers/templates/tigers/index.html (+0/-12)
horizon/tests/test_dashboards/cats/tigers/tests.py (+0/-7)
horizon/tests/test_dashboards/cats/tigers/urls.py (+0/-7)
horizon/tests/test_dashboards/cats/tigers/views.py (+0/-10)
horizon/tests/test_dashboards/dogs/dashboard.py (+0/-13)
horizon/tests/test_dashboards/dogs/models.py (+0/-3)
horizon/tests/test_dashboards/dogs/puppies/models.py (+0/-3)
horizon/tests/test_dashboards/dogs/puppies/panel.py (+0/-13)
horizon/tests/test_dashboards/dogs/puppies/templates/puppies/index.html (+0/-12)
horizon/tests/test_dashboards/dogs/puppies/tests.py (+0/-7)
horizon/tests/test_dashboards/dogs/puppies/urls.py (+0/-7)
horizon/tests/test_dashboards/dogs/puppies/views.py (+0/-10)
horizon/tests/test_dashboards/dogs/static/dogs/css/dogs.css (+0/-1)
horizon/tests/test_dashboards/dogs/static/dogs/js/dogs.js (+0/-1)
horizon/tests/test_dashboards/dogs/templates/dogs/base.html (+0/-11)
horizon/tests/test_data/exceptions.py (+0/-67)
horizon/tests/test_data/glance_data.py (+0/-89)
horizon/tests/test_data/keystone_data.py (+0/-160)
horizon/tests/test_data/nova_data.py (+0/-343)
horizon/tests/test_data/quantum_data.py (+0/-111)
horizon/tests/test_data/swift_data.py (+0/-39)
horizon/tests/test_data/utils.py (+0/-126)
horizon/tests/testsettings.py (+0/-196)
horizon/tests/testurls.py (+0/-41)
horizon/tests/utils_tests.py (+0/-195)
horizon/tests/workflows_tests.py (+0/-261)
horizon/usage/__init__.py (+0/-19)
horizon/usage/base.py (+0/-155)
horizon/usage/tables.py (+0/-71)
horizon/usage/views.py (+0/-54)
horizon/utils/memoized.py (+3/-0)
horizon/utils/validators.py (+3/-6)
horizon/version.py (+2/-2)
horizon/views.py (+53/-0)
horizon/views/__init__.py (+0/-17)
horizon/views/base.py (+0/-72)
horizon/workflows/views.py (+2/-2)
manage.py (+0/-2)
openstack-common.conf (+2/-2)
openstack_dashboard/api/__init__.py (+40/-0)
openstack_dashboard/api/base.py (+175/-0)
openstack_dashboard/api/cinder.py (+129/-0)
openstack_dashboard/api/glance.py (+98/-0)
openstack_dashboard/api/keystone.py (+291/-0)
openstack_dashboard/api/nova.py (+478/-0)
openstack_dashboard/api/quantum.py (+261/-0)
openstack_dashboard/api/swift.py (+265/-0)
openstack_dashboard/context_processors.py (+63/-0)
openstack_dashboard/dashboards/admin/dashboard.py (+37/-0)
openstack_dashboard/dashboards/admin/flavors/extras/forms.py (+66/-0)
openstack_dashboard/dashboards/admin/flavors/extras/tables.py (+75/-0)
openstack_dashboard/dashboards/admin/flavors/extras/tests.py (+65/-0)
openstack_dashboard/dashboards/admin/flavors/extras/urls.py (+29/-0)
openstack_dashboard/dashboards/admin/flavors/extras/views.py (+93/-0)
openstack_dashboard/dashboards/admin/flavors/forms.py (+109/-0)
openstack_dashboard/dashboards/admin/flavors/panel.py (+33/-0)
openstack_dashboard/dashboards/admin/flavors/tables.py (+61/-0)
openstack_dashboard/dashboards/admin/flavors/templates/flavors/_create.html (+25/-0)
openstack_dashboard/dashboards/admin/flavors/templates/flavors/_edit.html (+26/-0)
openstack_dashboard/dashboards/admin/flavors/templates/flavors/create.html (+11/-0)
openstack_dashboard/dashboards/admin/flavors/templates/flavors/edit.html (+11/-0)
openstack_dashboard/dashboards/admin/flavors/templates/flavors/extras/_create.html (+27/-0)
openstack_dashboard/dashboards/admin/flavors/templates/flavors/extras/_edit.html (+27/-0)
openstack_dashboard/dashboards/admin/flavors/templates/flavors/extras/_index.html (+14/-0)
openstack_dashboard/dashboards/admin/flavors/templates/flavors/extras/create.html (+12/-0)
openstack_dashboard/dashboards/admin/flavors/templates/flavors/extras/edit.html (+12/-0)
openstack_dashboard/dashboards/admin/flavors/templates/flavors/extras/index.html (+12/-0)
openstack_dashboard/dashboards/admin/flavors/templates/flavors/index.html (+11/-0)
openstack_dashboard/dashboards/admin/flavors/tests.py (+85/-0)
openstack_dashboard/dashboards/admin/flavors/urls.py (+30/-0)
openstack_dashboard/dashboards/admin/flavors/views.py (+82/-0)
openstack_dashboard/dashboards/admin/images/forms.py (+26/-0)
openstack_dashboard/dashboards/admin/images/panel.py (+33/-0)
openstack_dashboard/dashboards/admin/images/tables.py (+46/-0)
openstack_dashboard/dashboards/admin/images/templates/images/_update.html (+25/-0)
openstack_dashboard/dashboards/admin/images/templates/images/index.html (+11/-0)
openstack_dashboard/dashboards/admin/images/templates/images/update.html (+12/-0)
openstack_dashboard/dashboards/admin/images/tests.py (+97/-0)
openstack_dashboard/dashboards/admin/images/urls.py (+30/-0)
openstack_dashboard/dashboards/admin/images/views.py (+68/-0)
openstack_dashboard/dashboards/admin/info/panel.py (+33/-0)
openstack_dashboard/dashboards/admin/info/tables.py (+79/-0)
openstack_dashboard/dashboards/admin/info/tabs.py (+62/-0)
openstack_dashboard/dashboards/admin/info/templates/info/index.html (+15/-0)
openstack_dashboard/dashboards/admin/info/tests.py (+71/-0)
openstack_dashboard/dashboards/admin/info/urls.py (+27/-0)
openstack_dashboard/dashboards/admin/info/views.py (+33/-0)
openstack_dashboard/dashboards/admin/instances/panel.py (+34/-0)
openstack_dashboard/dashboards/admin/instances/tables.py (+100/-0)
openstack_dashboard/dashboards/admin/instances/templates/instances/index.html (+11/-0)
openstack_dashboard/dashboards/admin/instances/tests.py (+140/-0)
openstack_dashboard/dashboards/admin/instances/urls.py (+34/-0)
openstack_dashboard/dashboards/admin/instances/views.py (+84/-0)
openstack_dashboard/dashboards/admin/models.py (+23/-0)
openstack_dashboard/dashboards/admin/networks/forms.py (+90/-0)
openstack_dashboard/dashboards/admin/networks/panel.py (+29/-0)
openstack_dashboard/dashboards/admin/networks/ports/forms.py (+93/-0)
openstack_dashboard/dashboards/admin/networks/ports/tables.py (+85/-0)
openstack_dashboard/dashboards/admin/networks/ports/tabs.py (+49/-0)
openstack_dashboard/dashboards/admin/networks/ports/urls.py (+28/-0)
openstack_dashboard/dashboards/admin/networks/ports/views.py (+99/-0)
openstack_dashboard/dashboards/admin/networks/subnets/forms.py (+53/-0)
openstack_dashboard/dashboards/admin/networks/subnets/tables.py (+83/-0)
openstack_dashboard/dashboards/admin/networks/subnets/urls.py (+29/-0)
openstack_dashboard/dashboards/admin/networks/subnets/views.py (+103/-0)
openstack_dashboard/dashboards/admin/networks/tables.py (+82/-0)
openstack_dashboard/dashboards/admin/networks/templates/networks/_create.html (+25/-0)
openstack_dashboard/dashboards/admin/networks/templates/networks/_update.html (+24/-0)
openstack_dashboard/dashboards/admin/networks/templates/networks/create.html (+11/-0)
openstack_dashboard/dashboards/admin/networks/templates/networks/index.html (+21/-0)
openstack_dashboard/dashboards/admin/networks/templates/networks/ports/_create.html (+25/-0)
openstack_dashboard/dashboards/admin/networks/templates/networks/ports/_update.html (+29/-0)
openstack_dashboard/dashboards/admin/networks/templates/networks/ports/create.html (+11/-0)
openstack_dashboard/dashboards/admin/networks/templates/networks/ports/update.html (+11/-0)
openstack_dashboard/dashboards/admin/networks/templates/networks/subnets/_create.html (+25/-0)
openstack_dashboard/dashboards/admin/networks/templates/networks/subnets/_update.html (+33/-0)
openstack_dashboard/dashboards/admin/networks/templates/networks/subnets/create.html (+11/-0)
openstack_dashboard/dashboards/admin/networks/templates/networks/subnets/index.html (+11/-0)
openstack_dashboard/dashboards/admin/networks/templates/networks/subnets/update.html (+11/-0)
openstack_dashboard/dashboards/admin/networks/templates/networks/update.html (+11/-0)
openstack_dashboard/dashboards/admin/networks/tests.py (+805/-0)
openstack_dashboard/dashboards/admin/networks/urls.py (+47/-0)
openstack_dashboard/dashboards/admin/networks/views.py (+140/-0)
openstack_dashboard/dashboards/admin/overview/panel.py (+34/-0)
openstack_dashboard/dashboards/admin/overview/templates/overview/usage.csv (+10/-0)
openstack_dashboard/dashboards/admin/overview/templates/overview/usage.html (+22/-0)
openstack_dashboard/dashboards/admin/overview/tests.py (+98/-0)
openstack_dashboard/dashboards/admin/overview/urls.py (+29/-0)
openstack_dashboard/dashboards/admin/overview/views.py (+48/-0)
openstack_dashboard/dashboards/admin/projects/forms.py (+33/-0)
openstack_dashboard/dashboards/admin/projects/panel.py (+33/-0)
openstack_dashboard/dashboards/admin/projects/tables.py (+157/-0)
openstack_dashboard/dashboards/admin/projects/templates/projects/_add_user.html (+25/-0)
openstack_dashboard/dashboards/admin/projects/templates/projects/_create.html (+25/-0)
openstack_dashboard/dashboards/admin/projects/templates/projects/_create_user.html (+25/-0)
openstack_dashboard/dashboards/admin/projects/templates/projects/_quotas.html (+24/-0)
openstack_dashboard/dashboards/admin/projects/templates/projects/_update.html (+25/-0)
openstack_dashboard/dashboards/admin/projects/templates/projects/_update_members.html (+39/-0)
openstack_dashboard/dashboards/admin/projects/templates/projects/add_user.html (+11/-0)
openstack_dashboard/dashboards/admin/projects/templates/projects/create.html (+12/-0)
openstack_dashboard/dashboards/admin/projects/templates/projects/create_user.html (+12/-0)
openstack_dashboard/dashboards/admin/projects/templates/projects/index.html (+13/-0)
openstack_dashboard/dashboards/admin/projects/templates/projects/quotas.html (+11/-0)
openstack_dashboard/dashboards/admin/projects/templates/projects/update.html (+12/-0)
openstack_dashboard/dashboards/admin/projects/templates/projects/usage.html (+14/-0)
openstack_dashboard/dashboards/admin/projects/templates/projects/users.html (+18/-0)
openstack_dashboard/dashboards/admin/projects/tests.py (+818/-0)
openstack_dashboard/dashboards/admin/projects/urls.py (+37/-0)
openstack_dashboard/dashboards/admin/projects/views.py (+203/-0)
openstack_dashboard/dashboards/admin/projects/workflows.py (+390/-0)
openstack_dashboard/dashboards/admin/users/forms.py (+196/-0)
openstack_dashboard/dashboards/admin/users/panel.py (+33/-0)
openstack_dashboard/dashboards/admin/users/tables.py (+124/-0)
openstack_dashboard/dashboards/admin/users/templates/users/_create.html (+34/-0)
openstack_dashboard/dashboards/admin/users/templates/users/_update.html (+34/-0)
openstack_dashboard/dashboards/admin/users/templates/users/create.html (+12/-0)
openstack_dashboard/dashboards/admin/users/templates/users/index.html (+13/-0)
openstack_dashboard/dashboards/admin/users/templates/users/update.html (+12/-0)
openstack_dashboard/dashboards/admin/users/tests.py (+408/-0)
openstack_dashboard/dashboards/admin/users/urls.py (+28/-0)
openstack_dashboard/dashboards/admin/users/views.py (+112/-0)
openstack_dashboard/dashboards/admin/volumes/forms.py (+44/-0)
openstack_dashboard/dashboards/admin/volumes/panel.py (+14/-0)
openstack_dashboard/dashboards/admin/volumes/tables.py (+56/-0)
openstack_dashboard/dashboards/admin/volumes/templates/volumes/_create_volume_type.html (+29/-0)
openstack_dashboard/dashboards/admin/volumes/templates/volumes/create_volume_type.html (+11/-0)
openstack_dashboard/dashboards/admin/volumes/templates/volumes/detail.html (+15/-0)
openstack_dashboard/dashboards/admin/volumes/templates/volumes/index.html (+17/-0)
openstack_dashboard/dashboards/admin/volumes/tests.py (+92/-0)
openstack_dashboard/dashboards/admin/volumes/urls.py (+9/-0)
openstack_dashboard/dashboards/admin/volumes/views.py (+82/-0)
openstack_dashboard/dashboards/project/access_and_security/floating_ips/forms.py (+47/-0)
openstack_dashboard/dashboards/project/access_and_security/floating_ips/tables.py (+130/-0)
openstack_dashboard/dashboards/project/access_and_security/floating_ips/tests.py (+177/-0)
openstack_dashboard/dashboards/project/access_and_security/floating_ips/urls.py (+29/-0)
openstack_dashboard/dashboards/project/access_and_security/floating_ips/views.py (+70/-0)
openstack_dashboard/dashboards/project/access_and_security/floating_ips/workflows.py (+115/-0)
openstack_dashboard/dashboards/project/access_and_security/keypairs/forms.py (+66/-0)
openstack_dashboard/dashboards/project/access_and_security/keypairs/tables.py (+62/-0)
openstack_dashboard/dashboards/project/access_and_security/keypairs/tests.py (+163/-0)
openstack_dashboard/dashboards/project/access_and_security/keypairs/urls.py (+33/-0)
openstack_dashboard/dashboards/project/access_and_security/keypairs/views.py (+82/-0)
openstack_dashboard/dashboards/project/access_and_security/panel.py (+30/-0)
openstack_dashboard/dashboards/project/access_and_security/security_groups/forms.py (+174/-0)
openstack_dashboard/dashboards/project/access_and_security/security_groups/tables.py (+109/-0)
openstack_dashboard/dashboards/project/access_and_security/security_groups/tests.py (+375/-0)
openstack_dashboard/dashboards/project/access_and_security/security_groups/urls.py (+30/-0)
openstack_dashboard/dashboards/project/access_and_security/security_groups/views.py (+121/-0)
openstack_dashboard/dashboards/project/access_and_security/templates/access_and_security/floating_ips/_allocate.html (+33/-0)
openstack_dashboard/dashboards/project/access_and_security/templates/access_and_security/floating_ips/allocate.html (+7/-0)
openstack_dashboard/dashboards/project/access_and_security/templates/access_and_security/floating_ips/associate.html (+11/-0)
openstack_dashboard/dashboards/project/access_and_security/templates/access_and_security/index.html (+21/-0)
openstack_dashboard/dashboards/project/access_and_security/templates/access_and_security/keypairs/_create.html (+25/-0)
openstack_dashboard/dashboards/project/access_and_security/templates/access_and_security/keypairs/_import.html (+25/-0)
openstack_dashboard/dashboards/project/access_and_security/templates/access_and_security/keypairs/create.html (+12/-0)
openstack_dashboard/dashboards/project/access_and_security/templates/access_and_security/keypairs/download.html (+21/-0)
openstack_dashboard/dashboards/project/access_and_security/templates/access_and_security/keypairs/import.html (+12/-0)
openstack_dashboard/dashboards/project/access_and_security/templates/access_and_security/security_groups/_create.html (+25/-0)
openstack_dashboard/dashboards/project/access_and_security/templates/access_and_security/security_groups/_edit_rules.html (+21/-0)
openstack_dashboard/dashboards/project/access_and_security/templates/access_and_security/security_groups/create.html (+11/-0)
openstack_dashboard/dashboards/project/access_and_security/templates/access_and_security/security_groups/edit_rules.html (+11/-0)
openstack_dashboard/dashboards/project/access_and_security/tests.py (+88/-0)
openstack_dashboard/dashboards/project/access_and_security/urls.py (+35/-0)
openstack_dashboard/dashboards/project/access_and_security/views.py (+84/-0)
openstack_dashboard/dashboards/project/containers/browsers.py (+33/-0)
openstack_dashboard/dashboards/project/containers/forms.py (+164/-0)
openstack_dashboard/dashboards/project/containers/panel.py (+33/-0)
openstack_dashboard/dashboards/project/containers/tables.py (+270/-0)
openstack_dashboard/dashboards/project/containers/templates/containers/_copy.html (+24/-0)
openstack_dashboard/dashboards/project/containers/templates/containers/_create.html (+24/-0)
openstack_dashboard/dashboards/project/containers/templates/containers/_upload.html (+25/-0)
openstack_dashboard/dashboards/project/containers/templates/containers/copy.html (+13/-0)
openstack_dashboard/dashboards/project/containers/templates/containers/create.html (+11/-0)
openstack_dashboard/dashboards/project/containers/templates/containers/index.html (+13/-0)
openstack_dashboard/dashboards/project/containers/templates/containers/upload.html (+15/-0)
openstack_dashboard/dashboards/project/containers/tests.py (+238/-0)
openstack_dashboard/dashboards/project/containers/urls.py (+50/-0)
openstack_dashboard/dashboards/project/containers/views.py (+218/-0)
openstack_dashboard/dashboards/project/dashboard.py (+47/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/images/forms.py (+165/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/images/tables.py (+135/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/images/tabs.py (+45/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/images/tests.py (+118/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/images/urls.py (+34/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/images/views.py (+84/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/panel.py (+30/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/snapshots/forms.py (+57/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/snapshots/tables.py (+60/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/snapshots/tests.py (+98/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/snapshots/urls.py (+30/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/snapshots/views.py (+63/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/templates/images_and_snapshots/images/_create.html (+33/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/templates/images_and_snapshots/images/_detail_overview.html (+68/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/templates/images_and_snapshots/images/_update.html (+24/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/templates/images_and_snapshots/images/create.html (+11/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/templates/images_and_snapshots/images/detail.html (+16/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/templates/images_and_snapshots/images/update.html (+11/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/templates/images_and_snapshots/index.html (+19/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/templates/images_and_snapshots/snapshots/_create.html (+25/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/templates/images_and_snapshots/snapshots/_detail_overview.html (+42/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/templates/images_and_snapshots/snapshots/create.html (+11/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/templates/images_and_snapshots/snapshots/detail.html (+15/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/tests.py (+170/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/urls.py (+35/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/views.py (+89/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/volume_snapshots/tables.py (+91/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/volume_snapshots/tabs.py (+49/-0)
openstack_dashboard/dashboards/project/images_and_snapshots/volume_snapshots/tests.py (+92/-0)
openstack_dashboard/dashboards/project/instances/forms.py (+51/-0)
openstack_dashboard/dashboards/project/instances/panel.py (+29/-0)
openstack_dashboard/dashboards/project/instances/tables.py (+319/-0)
openstack_dashboard/dashboards/project/instances/tabs.py (+78/-0)
openstack_dashboard/dashboards/project/instances/templates/instances/_detail_log.html (+17/-0)
openstack_dashboard/dashboards/project/instances/templates/instances/_detail_overview.html (+102/-0)
openstack_dashboard/dashboards/project/instances/templates/instances/_detail_vnc.html (+17/-0)
openstack_dashboard/dashboards/project/instances/templates/instances/_instance_ips.html (+10/-0)
openstack_dashboard/dashboards/project/instances/templates/instances/_launch_customize_help.html (+3/-0)
openstack_dashboard/dashboards/project/instances/templates/instances/_launch_details_help.html (+53/-0)
openstack_dashboard/dashboards/project/instances/templates/instances/_launch_volumes_help.html (+3/-0)
openstack_dashboard/dashboards/project/instances/templates/instances/_update.html (+24/-0)
openstack_dashboard/dashboards/project/instances/templates/instances/detail.html (+15/-0)
openstack_dashboard/dashboards/project/instances/templates/instances/index.html (+11/-0)
openstack_dashboard/dashboards/project/instances/templates/instances/launch.html (+11/-0)
openstack_dashboard/dashboards/project/instances/templates/instances/update.html (+11/-0)
openstack_dashboard/dashboards/project/instances/tests.py (+982/-0)
openstack_dashboard/dashboards/project/instances/urls.py (+37/-0)
openstack_dashboard/dashboards/project/instances/views.py (+187/-0)
openstack_dashboard/dashboards/project/instances/workflows.py (+513/-0)
openstack_dashboard/dashboards/project/models.py (+23/-0)
openstack_dashboard/dashboards/project/networks/forms.py (+56/-0)
openstack_dashboard/dashboards/project/networks/panel.py (+29/-0)
openstack_dashboard/dashboards/project/networks/ports/tables.py (+53/-0)
openstack_dashboard/dashboards/project/networks/ports/tabs.py (+49/-0)
openstack_dashboard/dashboards/project/networks/ports/urls.py (+28/-0)
openstack_dashboard/dashboards/project/networks/ports/views.py (+24/-0)
openstack_dashboard/dashboards/project/networks/subnets/forms.py (+139/-0)
openstack_dashboard/dashboards/project/networks/subnets/tables.py (+106/-0)
openstack_dashboard/dashboards/project/networks/subnets/tabs.py (+49/-0)
openstack_dashboard/dashboards/project/networks/subnets/urls.py (+28/-0)
openstack_dashboard/dashboards/project/networks/subnets/views.py (+111/-0)
openstack_dashboard/dashboards/project/networks/tables.py (+108/-0)
openstack_dashboard/dashboards/project/networks/templates/networks/_create.html (+24/-0)
openstack_dashboard/dashboards/project/networks/templates/networks/_detail_overview.html (+20/-0)
openstack_dashboard/dashboards/project/networks/templates/networks/_network_ips.html (+10/-0)
openstack_dashboard/dashboards/project/networks/templates/networks/_update.html (+24/-0)
openstack_dashboard/dashboards/project/networks/templates/networks/create.html (+11/-0)
openstack_dashboard/dashboards/project/networks/templates/networks/detail.html (+18/-0)
openstack_dashboard/dashboards/project/networks/templates/networks/index.html (+11/-0)
openstack_dashboard/dashboards/project/networks/templates/networks/ports/_detail_overview.html (+41/-0)
openstack_dashboard/dashboards/project/networks/templates/networks/ports/_port_ips.html (+7/-0)
openstack_dashboard/dashboards/project/networks/templates/networks/ports/detail.html (+15/-0)
openstack_dashboard/dashboards/project/networks/templates/networks/subnets/_create.html (+25/-0)
openstack_dashboard/dashboards/project/networks/templates/networks/subnets/_detail_overview.html (+29/-0)
openstack_dashboard/dashboards/project/networks/templates/networks/subnets/_update.html (+33/-0)
openstack_dashboard/dashboards/project/networks/templates/networks/subnets/create.html (+11/-0)
openstack_dashboard/dashboards/project/networks/templates/networks/subnets/detail.html (+15/-0)
openstack_dashboard/dashboards/project/networks/templates/networks/subnets/index.html (+11/-0)
openstack_dashboard/dashboards/project/networks/templates/networks/subnets/update.html (+11/-0)
openstack_dashboard/dashboards/project/networks/templates/networks/update.html (+11/-0)
openstack_dashboard/dashboards/project/networks/tests.py (+782/-0)
openstack_dashboard/dashboards/project/networks/urls.py (+39/-0)
openstack_dashboard/dashboards/project/networks/views.py (+143/-0)
openstack_dashboard/dashboards/project/networks/workflows.py (+162/-0)
openstack_dashboard/dashboards/project/overview/panel.py (+33/-0)
openstack_dashboard/dashboards/project/overview/templates/overview/usage.csv (+11/-0)
openstack_dashboard/dashboards/project/overview/templates/overview/usage.html (+13/-0)
openstack_dashboard/dashboards/project/overview/tests.py (+145/-0)
openstack_dashboard/dashboards/project/overview/urls.py (+30/-0)
openstack_dashboard/dashboards/project/overview/views.py (+37/-0)
openstack_dashboard/dashboards/project/volumes/forms.py (+238/-0)
openstack_dashboard/dashboards/project/volumes/panel.py (+30/-0)
openstack_dashboard/dashboards/project/volumes/tables.py (+238/-0)
openstack_dashboard/dashboards/project/volumes/tabs.py (+48/-0)
openstack_dashboard/dashboards/project/volumes/templates/volumes/_attach.html (+25/-0)
openstack_dashboard/dashboards/project/volumes/templates/volumes/_create.html (+57/-0)
openstack_dashboard/dashboards/project/volumes/templates/volumes/_create_snapshot.html (+25/-0)
openstack_dashboard/dashboards/project/volumes/templates/volumes/_detail_overview.html (+49/-0)
openstack_dashboard/dashboards/project/volumes/templates/volumes/attach.html (+11/-0)
openstack_dashboard/dashboards/project/volumes/templates/volumes/create.html (+11/-0)
openstack_dashboard/dashboards/project/volumes/templates/volumes/create_snapshot.html (+11/-0)
openstack_dashboard/dashboards/project/volumes/templates/volumes/detail.html (+15/-0)
openstack_dashboard/dashboards/project/volumes/templates/volumes/index.html (+11/-0)
openstack_dashboard/dashboards/project/volumes/tests.py (+370/-0)
openstack_dashboard/dashboards/project/volumes/urls.py (+35/-0)
openstack_dashboard/dashboards/project/volumes/views.py (+187/-0)
openstack_dashboard/dashboards/settings/dashboard.py (+31/-0)
openstack_dashboard/dashboards/settings/ec2/forms.py (+110/-0)
openstack_dashboard/dashboards/settings/ec2/panel.py (+29/-0)
openstack_dashboard/dashboards/settings/ec2/templates/ec2/download_form.html (+25/-0)
openstack_dashboard/dashboards/settings/ec2/templates/ec2/ec2rc.sh.template (+15/-0)
openstack_dashboard/dashboards/settings/ec2/templates/ec2/index.html (+11/-0)
openstack_dashboard/dashboards/settings/ec2/tests.py (+70/-0)
openstack_dashboard/dashboards/settings/ec2/urls.py (+23/-0)
openstack_dashboard/dashboards/settings/ec2/views.py (+32/-0)
openstack_dashboard/dashboards/settings/models.py (+23/-0)
openstack_dashboard/dashboards/settings/project/forms.py (+78/-0)
openstack_dashboard/dashboards/settings/project/panel.py (+29/-0)
openstack_dashboard/dashboards/settings/project/tables.py (+33/-0)
openstack_dashboard/dashboards/settings/project/templates/project/_openrc.html (+32/-0)
openstack_dashboard/dashboards/settings/project/templates/project/openrc.sh.template (+24/-0)
openstack_dashboard/dashboards/settings/project/templates/project/settings.html (+11/-0)
openstack_dashboard/dashboards/settings/project/urls.py (+23/-0)
openstack_dashboard/dashboards/settings/project/views.py (+44/-0)
openstack_dashboard/dashboards/settings/user/forms.py (+59/-0)
openstack_dashboard/dashboards/settings/user/panel.py (+29/-0)
openstack_dashboard/dashboards/settings/user/templates/user/_settings.html (+26/-0)
openstack_dashboard/dashboards/settings/user/templates/user/settings.html (+11/-0)
openstack_dashboard/dashboards/settings/user/urls.py (+23/-0)
openstack_dashboard/dashboards/settings/user/views.py (+31/-0)
openstack_dashboard/local/local_settings.py.example (+20/-25)
openstack_dashboard/locale/bg_BG/LC_MESSAGES/django.po (+3233/-19)
openstack_dashboard/locale/cs/LC_MESSAGES/django.po (+3223/-19)
openstack_dashboard/locale/en/LC_MESSAGES/django.po (+3271/-19)
openstack_dashboard/locale/es/LC_MESSAGES/django.po (+3316/-19)
openstack_dashboard/locale/fr/LC_MESSAGES/django.po (+3206/-19)
openstack_dashboard/locale/it/LC_MESSAGES/django.po (+3347/-0)
openstack_dashboard/locale/ja/LC_MESSAGES/django.po (+3304/-19)
openstack_dashboard/locale/ko_KR/LC_MESSAGES/django.po (+3207/-19)
openstack_dashboard/locale/nl_NL/LC_MESSAGES/django.po (+3209/-19)
openstack_dashboard/locale/pl/LC_MESSAGES/django.po (+3444/-19)
openstack_dashboard/locale/pt/LC_MESSAGES/django.po (+3269/-19)
openstack_dashboard/locale/pt_BR/LC_MESSAGES/django.po (+3257/-19)
openstack_dashboard/locale/ru/LC_MESSAGES/django.po (+3297/-0)
openstack_dashboard/locale/zh_CN/LC_MESSAGES/django.po (+3215/-19)
openstack_dashboard/locale/zh_TW/LC_MESSAGES/django.po (+3238/-19)
openstack_dashboard/openstack/common/setup.py (+360/-0)
openstack_dashboard/settings.py (+41/-8)
openstack_dashboard/templates/500.html (+81/-26)
openstack_dashboard/templates/_header.html (+10/-0)
openstack_dashboard/test/api_tests/base_tests.py (+149/-0)
openstack_dashboard/test/api_tests/glance_tests.py (+67/-0)
openstack_dashboard/test/api_tests/keystone_tests.py (+98/-0)
openstack_dashboard/test/api_tests/nova_tests.py (+158/-0)
openstack_dashboard/test/api_tests/quantum_tests.py (+205/-0)
openstack_dashboard/test/api_tests/swift_tests.py (+120/-0)
openstack_dashboard/test/error_pages_urls.py (+7/-0)
openstack_dashboard/test/helpers.py (+350/-0)
openstack_dashboard/test/settings.py (+74/-4)
openstack_dashboard/test/templates/404.html (+1/-0)
openstack_dashboard/test/templates/500.html (+1/-0)
openstack_dashboard/test/templates/_tab.html (+1/-0)
openstack_dashboard/test/templates/tab_group.html (+1/-0)
openstack_dashboard/test/templates/workflow.html (+1/-0)
openstack_dashboard/test/test_data/exceptions.py (+67/-0)
openstack_dashboard/test/test_data/glance_data.py (+89/-0)
openstack_dashboard/test/test_data/keystone_data.py (+170/-0)
openstack_dashboard/test/test_data/nova_data.py (+361/-0)
openstack_dashboard/test/test_data/quantum_data.py (+111/-0)
openstack_dashboard/test/test_data/swift_data.py (+39/-0)
openstack_dashboard/test/test_data/utils.py (+126/-0)
openstack_dashboard/test/tests/error_pages.py (+34/-0)
openstack_dashboard/test/tests/quotas.py (+105/-0)
openstack_dashboard/test/tests/selenium.py (+24/-0)
openstack_dashboard/urls.py (+8/-2)
openstack_dashboard/usage/__init__.py (+19/-0)
openstack_dashboard/usage/base.py (+157/-0)
openstack_dashboard/usage/quotas.py (+115/-0)
openstack_dashboard/usage/tables.py (+71/-0)
openstack_dashboard/usage/views.py (+54/-0)
openstack_dashboard/views.py (+38/-0)
openstack_dashboard/wsgi/django.wsgi (+0/-2)
run_tests.sh (+32/-17)
setup.py (+3/-2)
tools/pip-requires (+2/-1)
tools/test-requires (+0/-1)
To merge this branch: bzr merge lp://staging/~zulcss/ubuntu/precise/horizon/trunk
Reviewer Review Type Date Requested Status
James Page Approve
Review via email: mp+136254@code.staging.launchpad.net

Description of the change

horizon g1

To post a comment you must log in.
Revision history for this message
James Page (james-page) wrote :

LGTM; uploaded to grizzly staging.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches