adjutant-ui 8.0.0.0rc1__py3-none-any.whl → 9.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. adjutant_ui/api/adjutant.py +20 -12
  2. adjutant_ui/content/default/panel.py +1 -1
  3. adjutant_ui/content/email/forms.py +1 -1
  4. adjutant_ui/content/email/panel.py +1 -1
  5. adjutant_ui/content/email/urls.py +2 -2
  6. adjutant_ui/content/email/views.py +1 -1
  7. adjutant_ui/content/forgot_password/forms.py +1 -1
  8. adjutant_ui/content/forgot_password/panel.py +1 -1
  9. adjutant_ui/content/forgot_password/urls.py +3 -3
  10. adjutant_ui/content/notifications/panel.py +1 -1
  11. adjutant_ui/content/notifications/tables.py +4 -4
  12. adjutant_ui/content/notifications/tabs.py +1 -1
  13. adjutant_ui/content/notifications/urls.py +4 -4
  14. adjutant_ui/content/notifications/views.py +1 -1
  15. adjutant_ui/content/project_users/forms.py +1 -1
  16. adjutant_ui/content/project_users/panel.py +1 -1
  17. adjutant_ui/content/project_users/tables.py +7 -7
  18. adjutant_ui/content/project_users/urls.py +6 -6
  19. adjutant_ui/content/project_users/views.py +1 -1
  20. adjutant_ui/content/quota/forms.py +1 -1
  21. adjutant_ui/content/quota/panel.py +1 -1
  22. adjutant_ui/content/quota/tables.py +4 -4
  23. adjutant_ui/content/quota/templates/quota/region_detail.html +1 -1
  24. adjutant_ui/content/quota/templates/quota/size_detail.html +1 -5
  25. adjutant_ui/content/quota/urls.py +8 -8
  26. adjutant_ui/content/quota/views.py +7 -5
  27. adjutant_ui/content/signup/forms.py +1 -1
  28. adjutant_ui/content/signup/panel.py +1 -1
  29. adjutant_ui/content/signup/urls.py +3 -3
  30. adjutant_ui/content/tasks/forms.py +1 -1
  31. adjutant_ui/content/tasks/panel.py +1 -1
  32. adjutant_ui/content/tasks/tables.py +12 -12
  33. adjutant_ui/content/tasks/tabs.py +1 -1
  34. adjutant_ui/content/tasks/urls.py +7 -7
  35. adjutant_ui/content/tasks/views.py +1 -1
  36. adjutant_ui/content/token/forms.py +1 -1
  37. adjutant_ui/content/token/panel.py +1 -1
  38. adjutant_ui/content/token/urls.py +3 -3
  39. adjutant_ui/content/token/views.py +1 -1
  40. adjutant_ui/dashboards/forgot_password_dash.py +1 -1
  41. adjutant_ui/dashboards/management.py +1 -1
  42. adjutant_ui/dashboards/signup_dash.py +1 -1
  43. adjutant_ui/dashboards/token_dash.py +1 -1
  44. adjutant_ui/enabled/_6020_management_access_control_group.py +1 -1
  45. adjutant_ui/templatetags/relabel_username_field.py +2 -2
  46. {adjutant_ui-8.0.0.0rc1.dist-info → adjutant_ui-9.0.0.dist-info}/AUTHORS +2 -0
  47. {adjutant_ui-8.0.0.0rc1.dist-info → adjutant_ui-9.0.0.dist-info}/METADATA +1 -1
  48. {adjutant_ui-8.0.0.0rc1.dist-info → adjutant_ui-9.0.0.dist-info}/RECORD +52 -52
  49. adjutant_ui-9.0.0.dist-info/pbr.json +1 -0
  50. adjutant_ui-8.0.0.0rc1.dist-info/pbr.json +0 -1
  51. {adjutant_ui-8.0.0.0rc1.dist-info → adjutant_ui-9.0.0.dist-info}/LICENSE +0 -0
  52. {adjutant_ui-8.0.0.0rc1.dist-info → adjutant_ui-9.0.0.dist-info}/WHEEL +0 -0
  53. {adjutant_ui-8.0.0.0rc1.dist-info → adjutant_ui-9.0.0.dist-info}/top_level.txt +0 -0
@@ -19,7 +19,7 @@ import requests
19
19
  from urllib.parse import urljoin
20
20
 
21
21
  from django.conf import settings
22
- from django.utils.translation import ugettext_lazy as _
22
+ from django.utils.translation import gettext_lazy as _
23
23
 
24
24
  from horizon import exceptions
25
25
  from horizon.utils import functions as utils
@@ -625,20 +625,24 @@ def size_details_get(request, size, region=None):
625
625
  resp = _get_quota_information(request, regions=region)
626
626
 
627
627
  data = resp['quota_sizes'][size]
628
- region_data = resp['regions'][0]['current_quota']
628
+ try:
629
+ region = resp['regions'][0]
630
+ except IndexError:
631
+ region = {}
632
+ current_quota = region.get('current_quota', {})
633
+ current_usage = region.get('current_usage', {})
629
634
  for service, values in data.items():
630
- if service not in resp['regions'][0]['current_usage']:
631
- continue
632
635
  for resource, value in values.items():
633
636
  if _is_quota_hidden(service, resource):
634
637
  continue
635
638
 
636
- usage = resp['regions'][0]['current_usage'][service].get(
637
- resource)
638
- try:
639
- percent = float(usage) / value
640
- except (TypeError, ZeroDivisionError):
641
- percent = '-'
639
+ quota = current_quota.get(service, {}).get(resource, '-')
640
+ usage = current_usage.get(service, {}).get(resource, '-')
641
+ percent = (
642
+ '-'
643
+ if not value or usage == '-'
644
+ else (usage / value)
645
+ )
642
646
 
643
647
  quota_details.append(
644
648
  SIZE_QUOTA_VALUE(
@@ -646,7 +650,7 @@ def size_details_get(request, size, region=None):
646
650
  name=resource,
647
651
  service=service,
648
652
  value=value,
649
- current_quota=region_data[service][resource],
653
+ current_quota=quota,
650
654
  current_usage=usage,
651
655
  percent=percent
652
656
  )
@@ -659,7 +663,11 @@ def quota_details_get(request, region):
659
663
 
660
664
  resp = _get_quota_information(request, regions=region)
661
665
 
662
- data = resp['regions'][0]['current_quota']
666
+ try:
667
+ region = resp['regions'][0]
668
+ except IndexError:
669
+ region = {}
670
+ data = region.get('current_quota', {})
663
671
 
664
672
  for service, values in data.items():
665
673
  for name, value in values.items():
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from django.utils.translation import ugettext_lazy as _
15
+ from django.utils.translation import gettext_lazy as _
16
16
 
17
17
  import horizon
18
18
 
@@ -13,7 +13,7 @@
13
13
  # under the License.
14
14
 
15
15
  from django.forms import ValidationError
16
- from django.utils.translation import ugettext_lazy as _
16
+ from django.utils.translation import gettext_lazy as _
17
17
 
18
18
  from horizon import forms
19
19
  from horizon import messages
@@ -12,7 +12,7 @@
12
12
  # License for the specific language governing permissions and limitations
13
13
  # under the License.
14
14
 
15
- from django.utils.translation import ugettext_lazy as _
15
+ from django.utils.translation import gettext_lazy as _
16
16
 
17
17
  import horizon
18
18
 
@@ -12,11 +12,11 @@
12
12
  # License for the specific language governing permissions and limitations
13
13
  # under the License.
14
14
 
15
- from django.conf.urls import url
15
+ from django.urls import re_path
16
16
 
17
17
  from adjutant_ui.content.email import views
18
18
 
19
19
 
20
20
  urlpatterns = [
21
- url(r'^$', views.EmailView.as_view(), name='index')
21
+ re_path(r'^$', views.EmailView.as_view(), name='index')
22
22
  ]
@@ -13,7 +13,7 @@
13
13
  # under the License.
14
14
 
15
15
  from django.urls import reverse_lazy
16
- from django.utils.translation import ugettext_lazy as _
16
+ from django.utils.translation import gettext_lazy as _
17
17
 
18
18
  from horizon import forms
19
19
 
@@ -15,7 +15,7 @@
15
15
  from django.conf import settings
16
16
  from django import forms
17
17
  from django import http
18
- from django.utils.translation import ugettext_lazy as _
18
+ from django.utils.translation import gettext_lazy as _
19
19
 
20
20
  from horizon import forms as hforms
21
21
  from horizon.utils import functions as utils
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from django.utils.translation import ugettext_lazy as _
15
+ from django.utils.translation import gettext_lazy as _
16
16
 
17
17
  import horizon
18
18
 
@@ -12,12 +12,12 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from django.conf.urls import url
15
+ from django.urls import re_path
16
16
 
17
17
  from adjutant_ui.content.forgot_password import views
18
18
 
19
19
  # NOTE(adriant): These urls are registered in the project_users urls.py file.
20
20
  urlpatterns = [
21
- url(r'^$', views.ForgotPasswordView.as_view(), name='forgot_index'),
22
- url(r'^sent/?$', views.password_sent_view, name='forgot_sent'),
21
+ re_path(r'^$', views.ForgotPasswordView.as_view(), name='forgot_index'),
22
+ re_path(r'^sent/?$', views.password_sent_view, name='forgot_sent'),
23
23
  ]
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from django.utils.translation import ugettext_lazy as _
15
+ from django.utils.translation import gettext_lazy as _
16
16
 
17
17
  import horizon
18
18
 
@@ -13,8 +13,8 @@
13
13
  # limitations under the License.
14
14
 
15
15
  from django.urls import reverse
16
- from django.utils.translation import ugettext_lazy as _
17
- from django.utils.translation import ungettext_lazy
16
+ from django.utils.translation import gettext_lazy as _
17
+ from django.utils.translation import ngettext_lazy
18
18
 
19
19
  from horizon import exceptions
20
20
  from horizon import tables
@@ -28,7 +28,7 @@ class AcknowlegeNotifcation(tables.BatchAction):
28
28
 
29
29
  @staticmethod
30
30
  def action_present(count):
31
- return ungettext_lazy(
31
+ return ngettext_lazy(
32
32
  u"Acknowlege Notification",
33
33
  u"Acknowlege Notifications",
34
34
  count
@@ -36,7 +36,7 @@ class AcknowlegeNotifcation(tables.BatchAction):
36
36
 
37
37
  @staticmethod
38
38
  def action_past(count):
39
- return ungettext_lazy(
39
+ return ngettext_lazy(
40
40
  u"Acknowleged Notification",
41
41
  u"Acknowleged Notifications",
42
42
  count
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from django.utils.translation import ugettext_lazy as _
15
+ from django.utils.translation import gettext_lazy as _
16
16
 
17
17
  from horizon import exceptions
18
18
  from horizon import tabs
@@ -13,13 +13,13 @@
13
13
  # limitations under the License.
14
14
 
15
15
 
16
- from django.conf.urls import url
16
+ from django.urls import re_path
17
17
 
18
18
  from adjutant_ui.content.notifications import views
19
19
 
20
20
 
21
21
  urlpatterns = [
22
- url(r'^$', views.IndexView.as_view(), name='index'),
23
- url(r'^(?P<notif_id>[^/]+)/$',
24
- views.NotificationDetailView.as_view(), name='detail'),
22
+ re_path(r'^$', views.IndexView.as_view(), name='index'),
23
+ re_path(r'^(?P<notif_id>[^/]+)/$',
24
+ views.NotificationDetailView.as_view(), name='detail'),
25
25
  ]
@@ -13,7 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
  from django.urls import reverse
16
- from django.utils.translation import ugettext_lazy as _
16
+ from django.utils.translation import gettext_lazy as _
17
17
 
18
18
  from horizon import exceptions
19
19
  from horizon import tabs
@@ -14,7 +14,7 @@
14
14
 
15
15
  from django.conf import settings
16
16
  from django.urls import reverse
17
- from django.utils.translation import ugettext_lazy as _
17
+ from django.utils.translation import gettext_lazy as _
18
18
 
19
19
  from horizon import exceptions
20
20
  from horizon import forms
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from django.utils.translation import ugettext_lazy as _
15
+ from django.utils.translation import gettext_lazy as _
16
16
 
17
17
  import horizon
18
18
 
@@ -14,8 +14,8 @@
14
14
 
15
15
  from collections import defaultdict
16
16
 
17
- from django.utils.translation import ugettext_lazy as _
18
- from django.utils.translation import ungettext_lazy
17
+ from django.utils.translation import gettext_lazy as _
18
+ from django.utils.translation import ngettext_lazy
19
19
 
20
20
  from horizon import exceptions
21
21
  from horizon import tables
@@ -32,7 +32,7 @@ class InviteUser(tables.LinkAction):
32
32
 
33
33
  @staticmethod
34
34
  def action_past(count):
35
- return ungettext_lazy(
35
+ return ngettext_lazy(
36
36
  u"Invited User",
37
37
  u"Invited Users",
38
38
  count
@@ -44,7 +44,7 @@ class ResendInvitation(tables.BatchAction):
44
44
 
45
45
  @staticmethod
46
46
  def action_present(count):
47
- return ungettext_lazy(
47
+ return ngettext_lazy(
48
48
  u"Resend Invitation",
49
49
  u"Resend Invitations",
50
50
  count
@@ -52,7 +52,7 @@ class ResendInvitation(tables.BatchAction):
52
52
 
53
53
  @staticmethod
54
54
  def action_past(count):
55
- return ungettext_lazy(
55
+ return ngettext_lazy(
56
56
  u"Invitation re-sent",
57
57
  u"Invitations re-sent",
58
58
  count
@@ -85,7 +85,7 @@ class RevokeUser(tables.DeleteAction):
85
85
 
86
86
  @staticmethod
87
87
  def action_present(count):
88
- return ungettext_lazy(
88
+ return ngettext_lazy(
89
89
  u"Revoke User",
90
90
  u"Revoke Users",
91
91
  count
@@ -93,7 +93,7 @@ class RevokeUser(tables.DeleteAction):
93
93
 
94
94
  @staticmethod
95
95
  def action_past(count):
96
- return ungettext_lazy(
96
+ return ngettext_lazy(
97
97
  u"Revoked User",
98
98
  u"Revoked Users",
99
99
  count
@@ -12,15 +12,15 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from django.conf.urls import url
15
+ from django.urls import re_path
16
16
 
17
17
  from adjutant_ui.content.project_users import views
18
18
 
19
19
 
20
20
  urlpatterns = [
21
- url(r'^invite/$', views.InviteUserView.as_view(), name='invite'),
22
- url(r'^(?P<user_id>[^/]+)/update/$',
23
- views.UpdateUserView.as_view(),
24
- name='update'),
25
- url(r'^$', views.UsersView.as_view(), name='index')
21
+ re_path(r'^invite/$', views.InviteUserView.as_view(), name='invite'),
22
+ re_path(r'^(?P<user_id>[^/]+)/update/$',
23
+ views.UpdateUserView.as_view(),
24
+ name='update'),
25
+ re_path(r'^$', views.UsersView.as_view(), name='index')
26
26
  ]
@@ -14,7 +14,7 @@
14
14
 
15
15
  from django.urls import reverse
16
16
  from django.urls import reverse_lazy
17
- from django.utils.translation import ugettext_lazy as _
17
+ from django.utils.translation import gettext_lazy as _
18
18
 
19
19
  from horizon import exceptions
20
20
  from horizon import forms
@@ -15,7 +15,7 @@
15
15
  import logging
16
16
 
17
17
  from django.urls import reverse # noqa
18
- from django.utils.translation import ugettext_lazy as _
18
+ from django.utils.translation import gettext_lazy as _
19
19
 
20
20
  from horizon import exceptions
21
21
  from horizon import forms
@@ -12,7 +12,7 @@
12
12
  # License for the specific language governing permissions and limitations
13
13
  # under the License.
14
14
 
15
- from django.utils.translation import ugettext_lazy as _
15
+ from django.utils.translation import gettext_lazy as _
16
16
 
17
17
  import horizon
18
18
 
@@ -14,8 +14,8 @@
14
14
 
15
15
  import json
16
16
 
17
- from django.utils.translation import ugettext_lazy as _
18
- from django.utils.translation import ungettext_lazy
17
+ from django.utils.translation import gettext_lazy as _
18
+ from django.utils.translation import ngettext_lazy
19
19
 
20
20
  from horizon import exceptions
21
21
  from horizon import tables
@@ -61,7 +61,7 @@ class CancelQuotaTask(tables.DeleteAction):
61
61
 
62
62
  @staticmethod
63
63
  def action_present(count):
64
- return ungettext_lazy(
64
+ return ngettext_lazy(
65
65
  u"Cancel Quota Update",
66
66
  u"Cancel Quota Updates",
67
67
  count
@@ -69,7 +69,7 @@ class CancelQuotaTask(tables.DeleteAction):
69
69
 
70
70
  @staticmethod
71
71
  def action_past(count):
72
- return ungettext_lazy(
72
+ return ngettext_lazy(
73
73
  u"Cancelled Quota Update",
74
74
  u"Cancelled Quota Updates",
75
75
  count
@@ -1,6 +1,6 @@
1
1
  {% extends 'base.html' %}
2
2
  {% load i18n %}
3
- {% block title %} {% trans "Quota Details" %} {% endblock %}
3
+ {% block title %}{% blocktrans %}{{ region }} Quota Details{% endblocktrans %}{% endblock %}
4
4
 
5
5
  {% block main %}
6
6
  {{ table.render }}
@@ -1,10 +1,6 @@
1
1
  {% extends 'base.html' %}
2
2
  {% load i18n %}
3
- {% block title %} {{title}} - Quota Details{% endblock %}
4
-
5
- {% block page_header %}
6
- {% include "horizon/common/_page_header.html" with title=title %}
7
- {% endblock page_header %}
3
+ {% block title %}{% blocktrans %}{{ size_titlecase }} Quota Details{% endblocktrans %}{% endblock %}
8
4
 
9
5
  {% block main %}
10
6
  {{ table.render }}
@@ -12,17 +12,17 @@
12
12
  # License for the specific language governing permissions and limitations
13
13
  # under the License.
14
14
 
15
- from django.conf.urls import url
15
+ from django.urls import re_path
16
16
 
17
17
  from adjutant_ui.content.quota import views
18
18
 
19
19
 
20
20
  urlpatterns = [
21
- url(r'^$', views.IndexView.as_view(), name='index'),
22
- url(r'^region/(?P<region>[^/]+)$', views.RegionDetailView.as_view(),
23
- name='region_detail'),
24
- url(r'^(?P<region>[^/]+)/update$',
25
- views.RegionUpdateView.as_view(), name='update'),
26
- url(r'^size/(?P<size>[^/]+)$', views.QuotaSizeView.as_view(),
27
- name='size_detail'),
21
+ re_path(r'^$', views.IndexView.as_view(), name='index'),
22
+ re_path(r'^region/(?P<region>[^/]+)$', views.RegionDetailView.as_view(),
23
+ name='region_detail'),
24
+ re_path(r'^(?P<region>[^/]+)/update$',
25
+ views.RegionUpdateView.as_view(), name='update'),
26
+ re_path(r'^size/(?P<size>[^/]+)$', views.QuotaSizeView.as_view(),
27
+ name='size_detail'),
28
28
  ]
@@ -14,7 +14,7 @@
14
14
 
15
15
  from django.urls import reverse
16
16
  from django.urls import reverse_lazy
17
- from django.utils.translation import ugettext_lazy as _
17
+ from django.utils.translation import gettext_lazy as _
18
18
 
19
19
  from horizon import exceptions
20
20
  from horizon import forms
@@ -57,7 +57,7 @@ class IndexView(horizon_tables.MultiTableView):
57
57
  class RegionDetailView(horizon_tables.DataTableView):
58
58
  table_class = quota_tables.RegionQuotaDetailTable
59
59
  template_name = 'management/quota/region_detail.html'
60
- page_title = _("'{{ region }}' Quota Details")
60
+ page_title = _("{{ region }} Quota Details")
61
61
 
62
62
  def get_data(self):
63
63
  try:
@@ -76,7 +76,7 @@ class RegionDetailView(horizon_tables.DataTableView):
76
76
  class QuotaSizeView(horizon_tables.DataTableView):
77
77
  table_class = quota_tables.QuotaDetailUsageTable
78
78
  template_name = 'management/quota/size_detail.html'
79
- page_title = _("'{{ size }}' Quota Details")
79
+ page_title = _("{{ size | title }} Quota Details")
80
80
 
81
81
  def get_data(self):
82
82
  try:
@@ -89,8 +89,10 @@ class QuotaSizeView(horizon_tables.DataTableView):
89
89
  def get_context_data(self, **kwargs):
90
90
  # request.user.services_region
91
91
  context = super(QuotaSizeView, self).get_context_data(**kwargs)
92
- context['title'] = _("%s - Quota Details") \
93
- % self.kwargs['size'].title()
92
+ context['size'] = self.kwargs['size']
93
+ # NOTE(callumdickinson): Necessary because the title filter
94
+ # is overloaded in the title block.
95
+ context['size_titlecase'] = self.kwargs['size'].title()
94
96
  return context
95
97
 
96
98
 
@@ -15,7 +15,7 @@
15
15
  from django.conf import settings
16
16
  from django import forms
17
17
  from django import http
18
- from django.utils.translation import ugettext_lazy as _
18
+ from django.utils.translation import gettext_lazy as _
19
19
 
20
20
  from horizon import forms as hforms
21
21
  from horizon.utils import functions as utils
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from django.utils.translation import ugettext_lazy as _
15
+ from django.utils.translation import gettext_lazy as _
16
16
 
17
17
  import horizon
18
18
 
@@ -12,11 +12,11 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from django.conf.urls import url
15
+ from django.urls import re_path
16
16
 
17
17
  from adjutant_ui.content.signup import views
18
18
 
19
19
  urlpatterns = [
20
- url(r'^$', views.SignupFormView.as_view(), name='index'),
21
- url(r'^submitted/?$', views.signup_sent_view, name='submitted'),
20
+ re_path(r'^$', views.SignupFormView.as_view(), name='index'),
21
+ re_path(r'^submitted/?$', views.signup_sent_view, name='submitted'),
22
22
  ]
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from django.utils.translation import ugettext_lazy as _
15
+ from django.utils.translation import gettext_lazy as _
16
16
 
17
17
  from horizon import forms
18
18
  from horizon import messages
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from django.utils.translation import ugettext_lazy as _
15
+ from django.utils.translation import gettext_lazy as _
16
16
 
17
17
  import horizon
18
18
 
@@ -12,8 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from django.utils.translation import ugettext_lazy as _
16
- from django.utils.translation import ungettext_lazy
15
+ from django.utils.translation import gettext_lazy as _
16
+ from django.utils.translation import ngettext_lazy
17
17
 
18
18
  from horizon import exceptions
19
19
  from horizon import tables
@@ -26,7 +26,7 @@ class CancelTask(tables.DeleteAction):
26
26
 
27
27
  @staticmethod
28
28
  def action_present(count):
29
- return ungettext_lazy(
29
+ return ngettext_lazy(
30
30
  u"Cancel Task",
31
31
  u"Cancel Tasks",
32
32
  count
@@ -34,7 +34,7 @@ class CancelTask(tables.DeleteAction):
34
34
 
35
35
  @staticmethod
36
36
  def action_past(count):
37
- return ungettext_lazy(
37
+ return ngettext_lazy(
38
38
  u"Cancelled Task",
39
39
  u"Cancelled Tasks",
40
40
  count
@@ -61,7 +61,7 @@ class ApproveTask(tables.BatchAction):
61
61
 
62
62
  @staticmethod
63
63
  def action_present(count):
64
- return ungettext_lazy(
64
+ return ngettext_lazy(
65
65
  u"Approve Task",
66
66
  u"Approve Tasks",
67
67
  count
@@ -69,7 +69,7 @@ class ApproveTask(tables.BatchAction):
69
69
 
70
70
  @staticmethod
71
71
  def action_past(count):
72
- return ungettext_lazy(
72
+ return ngettext_lazy(
73
73
  u"Approved Task",
74
74
  u"Approved Tasks",
75
75
  count
@@ -95,7 +95,7 @@ class ReissueToken(tables.BatchAction):
95
95
 
96
96
  @staticmethod
97
97
  def action_present(count):
98
- return ungettext_lazy(
98
+ return ngettext_lazy(
99
99
  u"Reissue Token",
100
100
  u"Reissue Tokens",
101
101
  count
@@ -103,7 +103,7 @@ class ReissueToken(tables.BatchAction):
103
103
 
104
104
  @staticmethod
105
105
  def action_past(count):
106
- return ungettext_lazy(
106
+ return ngettext_lazy(
107
107
  u"Reissued Token",
108
108
  u"Reissued Tokens",
109
109
  count
@@ -128,7 +128,7 @@ class RevalidateTask(tables.BatchAction):
128
128
 
129
129
  @staticmethod
130
130
  def action_present(count):
131
- return ungettext_lazy(
131
+ return ngettext_lazy(
132
132
  u"Rerun Validation",
133
133
  u"Rerun Validation",
134
134
  count
@@ -136,7 +136,7 @@ class RevalidateTask(tables.BatchAction):
136
136
 
137
137
  @staticmethod
138
138
  def action_past(count):
139
- return ungettext_lazy(
139
+ return ngettext_lazy(
140
140
  u"Validation run",
141
141
  u"Validation run",
142
142
  count
@@ -162,7 +162,7 @@ class ReapproveTask(ApproveTask):
162
162
 
163
163
  @staticmethod
164
164
  def action_present(count):
165
- return ungettext_lazy(
165
+ return ngettext_lazy(
166
166
  u"Reapprove Task",
167
167
  u"Reapprove Tasks",
168
168
  count
@@ -170,7 +170,7 @@ class ReapproveTask(ApproveTask):
170
170
 
171
171
  @staticmethod
172
172
  def action_past(count):
173
- return ungettext_lazy(
173
+ return ngettext_lazy(
174
174
  u"Reapproved Task",
175
175
  u"Reapproved Tasks",
176
176
  count
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from django.utils.translation import ugettext_lazy as _
15
+ from django.utils.translation import gettext_lazy as _
16
16
 
17
17
  from horizon import exceptions
18
18
  from horizon import tabs
@@ -13,16 +13,16 @@
13
13
  # limitations under the License.
14
14
 
15
15
 
16
- from django.conf.urls import url
16
+ from django.urls import re_path
17
17
 
18
18
  from adjutant_ui.content.tasks import views
19
19
 
20
20
 
21
21
  urlpatterns = [
22
- url(r'^(?P<task_id>[^/]+)/$',
23
- views.TaskDetailView.as_view(),
24
- name='detail'),
25
- url(r'^(?P<task_id>[^/]+)/update/$',
26
- views.UpdateTaskView.as_view(), name='update'),
27
- url(r'^$', views.IndexView.as_view(), name='index'),
22
+ re_path(r'^(?P<task_id>[^/]+)/$',
23
+ views.TaskDetailView.as_view(),
24
+ name='detail'),
25
+ re_path(r'^(?P<task_id>[^/]+)/update/$',
26
+ views.UpdateTaskView.as_view(), name='update'),
27
+ re_path(r'^$', views.IndexView.as_view(), name='index'),
28
28
  ]
@@ -13,7 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
  from django.urls import reverse
16
- from django.utils.translation import ugettext_lazy as _
16
+ from django.utils.translation import gettext_lazy as _
17
17
 
18
18
  from horizon import exceptions
19
19
  from horizon import forms
@@ -15,7 +15,7 @@
15
15
  from django.conf import settings
16
16
  from django.forms import ValidationError # noqa
17
17
  from django import http
18
- from django.utils.translation import ugettext_lazy as _
18
+ from django.utils.translation import gettext_lazy as _
19
19
  from django.views.decorators.debug import sensitive_variables # noqa
20
20
 
21
21
  from horizon import exceptions
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from django.utils.translation import ugettext_lazy as _
15
+ from django.utils.translation import gettext_lazy as _
16
16
 
17
17
  import horizon
18
18
 
@@ -12,11 +12,11 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from django.conf.urls import url
15
+ from django.urls import re_path
16
16
 
17
17
  from adjutant_ui.content.token import views
18
18
 
19
19
  urlpatterns = [
20
- url(r'^(?P<token>\w+)/?$', views.submit_token_router,
21
- name='token_verify'),
20
+ re_path(r'^(?P<token>\w+)/?$', views.submit_token_router,
21
+ name='token_verify'),
22
22
  ]
@@ -15,7 +15,7 @@
15
15
 
16
16
  from django.conf import settings
17
17
  from django import http
18
- from django.utils.translation import ugettext_lazy as _
18
+ from django.utils.translation import gettext_lazy as _
19
19
 
20
20
  from horizon import exceptions
21
21
  from horizon import forms
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from django.utils.translation import ugettext_lazy as _
15
+ from django.utils.translation import gettext_lazy as _
16
16
 
17
17
  import horizon
18
18
 
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from django.utils.translation import ugettext_lazy as _
15
+ from django.utils.translation import gettext_lazy as _
16
16
 
17
17
  import horizon
18
18
 
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from django.utils.translation import ugettext_lazy as _
15
+ from django.utils.translation import gettext_lazy as _
16
16
 
17
17
  import horizon
18
18
 
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from django.utils.translation import ugettext_lazy as _
15
+ from django.utils.translation import gettext_lazy as _
16
16
 
17
17
  import horizon
18
18
 
@@ -1,4 +1,4 @@
1
- from django.utils.translation import ugettext_lazy as _
1
+ from django.utils.translation import gettext_lazy as _
2
2
 
3
3
  # The slug of the panel group to be added to HORIZON_CONFIG. Required.
4
4
  PANEL_GROUP = 'access_control'
@@ -15,7 +15,7 @@
15
15
 
16
16
  from django.conf import settings
17
17
  from django import template
18
- from django.utils.translation import ugettext_lazy
18
+ from django.utils.translation import gettext_lazy
19
19
 
20
20
  register = template.Library()
21
21
 
@@ -34,7 +34,7 @@ def relabel_username_field(context):
34
34
  if (hasattr(settings, 'USERNAME_IS_EMAIL') and
35
35
  getattr(settings, 'USERNAME_IS_EMAIL')):
36
36
  try:
37
- context['form'].fields['username'].label = ugettext_lazy('Email')
37
+ context['form'].fields['username'].label = gettext_lazy('Email')
38
38
  except Exception:
39
39
  pass
40
40
  return u""
@@ -3,7 +3,9 @@ Adrian Turjak <adriant@catalystcloud.nz>
3
3
  Akihiro Motoki <amotoki@gmail.com>
4
4
  Amelia Cordwell <ameliacordwell@catalyst.net.nz>
5
5
  Andreas Jaeger <aj@suse.com>
6
+ Callum Dickinson <callum.dickinson@catalystcloud.nz>
6
7
  Dale Smith <dale@catalystcloud.nz>
8
+ Dmitriy Rabotyagov <noonedeadpunk@gmail.com>
7
9
  Ghanshyam Mann <gmann@ghanshyammann.com>
8
10
  Hervé Beraud <hberaud@redhat.com>
9
11
  Jonathan Herlin <Jonte@jherlin.se>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: adjutant-ui
3
- Version: 8.0.0.0rc1
3
+ Version: 9.0.0
4
4
  Summary: Adjutant User Interface
5
5
  Home-page: https://github.com/catalyst/adjutant-ui
6
6
  Author: Adrian Turjak
@@ -2,22 +2,22 @@ adjutant_ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  adjutant_ui/karma.conf.js,sha256=Up3JOEBm51fWjoPbevy9S6NOvMmUx9ogdzFDD_bF9Ng,5234
3
3
  adjutant_ui/version.py,sha256=1lNiuYuWFg-u1kPRK6B1aKQLpoXn9SdUCEDUvTaLc8g,629
4
4
  adjutant_ui/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- adjutant_ui/api/adjutant.py,sha256=CMbNRISACTlHS-KSG6pyO4Co8PaqPQl_nOC_wvk2oko,24060
5
+ adjutant_ui/api/adjutant.py,sha256=XHOSBJdWrP0A31y21lOQHgwaeuTBa0qPvDFMYKs52jA,24211
6
6
  adjutant_ui/content/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  adjutant_ui/content/default/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- adjutant_ui/content/default/panel.py,sha256=wRDLhR1wzWy4pyEfW8KnUhQewkCEP3VqaCAaXBD4Cok,798
8
+ adjutant_ui/content/default/panel.py,sha256=4BCuG8wIpcIBSisD4o2tEGtfg-oMcPftGf5yie_JGA8,797
9
9
  adjutant_ui/content/default/templates/default/base.html,sha256=HXEy33VPfFNdkZYX3QazOw0evORIm8RQJmYJFbuFlqg,28
10
10
  adjutant_ui/content/email/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- adjutant_ui/content/email/forms.py,sha256=h0CrO4t91uJNp8QRwyhyXD9zYBrGabHbRhBTnKer30g,2054
12
- adjutant_ui/content/email/panel.py,sha256=mEbgwYjR_VV5dg5Ze32TYvql3Uawo_Ia6jhM4aPoGg0,781
13
- adjutant_ui/content/email/urls.py,sha256=lKl4Xu48PlK6zixcpnvsvOiKX7oHjtZX26i7H_WCgN8,772
14
- adjutant_ui/content/email/views.py,sha256=iuXccOlg8PJGHFPFODJ7En-Y3ntJ1WO8bnhebCvH6tM,1245
11
+ adjutant_ui/content/email/forms.py,sha256=QnZguSxptGNALVXr7UyffZ2C3iTnB2If8THddTnpBjA,2053
12
+ adjutant_ui/content/email/panel.py,sha256=xijdLKcV1_BWXxjHbxccjBjAQgdER6fax1nO79mXmLU,780
13
+ adjutant_ui/content/email/urls.py,sha256=sJStIfpNby9aLx_U2nVdoU496mRyvC5SwvHzRqK9tq8,775
14
+ adjutant_ui/content/email/views.py,sha256=O_DODGQ6pJvqXF3meEa2yMq2t4DPo7pw4WnjPYE-T6s,1244
15
15
  adjutant_ui/content/email/templates/email/_change.html,sha256=EgiZGjoFiVJOsBM1RVxoYw6M6uKfQvM8k9fFA3hc76U,270
16
16
  adjutant_ui/content/email/templates/email/change.html,sha256=J8O9-P_irPMieLzrEmIjQuMjHhicKbDJUrBRiR3w8jQ,179
17
17
  adjutant_ui/content/forgot_password/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- adjutant_ui/content/forgot_password/forms.py,sha256=C4aMBSX91Reg1jxkNd52R0wVUyeSIbSu7EjqWBvVeYA,2241
19
- adjutant_ui/content/forgot_password/panel.py,sha256=pvupgwVOcH1SVMRGDUMtWRKAeRtKM3EHyh31glZrpwM,774
20
- adjutant_ui/content/forgot_password/urls.py,sha256=WgiujnBL3F3aJmzi8NavXtPYitLTzLzw3ETbDaBOo4M,907
18
+ adjutant_ui/content/forgot_password/forms.py,sha256=oe4NN6iVVLVe0QNoski9c9QfZiKpH4xZOL8z0DwtwT0,2240
19
+ adjutant_ui/content/forgot_password/panel.py,sha256=tXxKsR2pO6bbfY9oa4KmQzMRGlDxKMMqxLIt2fVbJxM,773
20
+ adjutant_ui/content/forgot_password/urls.py,sha256=k7GUtW5FOTW5Yjb77Kx4TwrMbG4HoTxq1TtuwAxDmwo,914
21
21
  adjutant_ui/content/forgot_password/views.py,sha256=OfIdYK7Ty9CTuRZKsubmEjf-xfjJLh735dEBzpBzoVE,987
22
22
  adjutant_ui/content/forgot_password/templates/auth/_login_page.html,sha256=01DCZYz_nydYWXpvkIxctot_Q8QqOhf73TNlmHlwbo4,238
23
23
  adjutant_ui/content/forgot_password/templates/forgot_password/_forgot_password_form.html,sha256=HXtu4dRdZ52FFll204Txe8RaTqOh_7beeSH7jeJB7Hk,1658
@@ -27,20 +27,20 @@ adjutant_ui/content/forgot_password/templates/forgot_password/_sent_text.html,sh
27
27
  adjutant_ui/content/forgot_password/templates/forgot_password/index.html,sha256=AhXcgMjbqNXXlg70TXJZrgP8pe4zlf34V17dORhpUGA,228
28
28
  adjutant_ui/content/forgot_password/templates/forgot_password/sent.html,sha256=SnmSfEqAacPBWjrXJxV940Ma5nN5HF2SPQ47cqNYdv4,225
29
29
  adjutant_ui/content/notifications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
- adjutant_ui/content/notifications/panel.py,sha256=xsgAhrw3yI_KK6xzodnUlREiMOYT2yo3OnLIfG4vf3U,811
31
- adjutant_ui/content/notifications/tables.py,sha256=bPl_rPEHsRmN9sCCa_vcMSrVa5B9Bk6CGEOSudxkp2c,3566
32
- adjutant_ui/content/notifications/tabs.py,sha256=7OiYsoaNOjJkT4sZQ4_3EphtdtzqFLP2xKkIQ-jW-3U,3701
33
- adjutant_ui/content/notifications/urls.py,sha256=I7UyO5S_yIZPJl7ikDYvC2OAApnVZW2yx2V_O_7iIqo,844
34
- adjutant_ui/content/notifications/views.py,sha256=yC42HO6V6gYynwxrEllZX5JMQ7_Bce0otCRUml-Rbss,2576
30
+ adjutant_ui/content/notifications/panel.py,sha256=HVpv3Qqly8nBah2hH_NUHyL6WxTucEggt7jfVwbinhU,810
31
+ adjutant_ui/content/notifications/tables.py,sha256=YjTYcqLDuH8XY8ZLYgjNXUGdCc-S4ozMTCLFczFN_jM,3562
32
+ adjutant_ui/content/notifications/tabs.py,sha256=6aZWFN2MsXaaG50XaiRz0Ci46naMxCYFuJCzlAQxLe8,3700
33
+ adjutant_ui/content/notifications/urls.py,sha256=0SvYGpx7nn0f_dgAV16N4lbqotaZ40iS7C00PokQVyk,855
34
+ adjutant_ui/content/notifications/views.py,sha256=_Tz4co-N4Ry_vXaHcZr4sAgy-dk1lOxBtcGzAmZZNAM,2575
35
35
  adjutant_ui/content/notifications/templates/notifications/detail.html,sha256=U9y8ZvrRPwWi9OwPBuDdnOJbBulpff9JQf6QWu6AzGI,1090
36
36
  adjutant_ui/content/notifications/templates/notifications/index.html,sha256=NLvCAHaayLvAyVSkkV0IsNKfTRh_sTfXUbN-q5O4S6g,233
37
37
  adjutant_ui/content/notifications/templates/notifications/table_override.html,sha256=lE7lWobzpalZCpkopaoLx2Yv5jjSrZK-NYCfJ2oFv14,108
38
38
  adjutant_ui/content/project_users/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- adjutant_ui/content/project_users/forms.py,sha256=O63TcW0hBK5kgw8nhlYk190y_PUgYvl8O9QyS-Rcb9k,5133
40
- adjutant_ui/content/project_users/panel.py,sha256=WCzgYd582FaHLLFhJisC53mSPR4mEHIhrV1P8ulGS1c,815
41
- adjutant_ui/content/project_users/tables.py,sha256=uzwTxUrGOOrMf0FWz1JBilJV10tZlbL4xbuaR9QhVQI,5564
42
- adjutant_ui/content/project_users/urls.py,sha256=k1OmluvBOLItInzsubL5mAkI_oYRvNXF7g75B0NBwbA,918
43
- adjutant_ui/content/project_users/views.py,sha256=B-w6jeeHeP-APN4bBdvp_MHHkDUiNC2WxwK_3cd80xI,3231
39
+ adjutant_ui/content/project_users/forms.py,sha256=3C22ZqipqpXP8PQuiZUdNGirVN4ishD0khX-NceyJps,5132
40
+ adjutant_ui/content/project_users/panel.py,sha256=yeyazkmgwA49MsnpIfRjKX17lkr6S5EGimRVqyH98pc,814
41
+ adjutant_ui/content/project_users/tables.py,sha256=CKjrJWGvzoh8bkc6SKQ1rcNhN3U0MZ0h4t78JnvAf8c,5557
42
+ adjutant_ui/content/project_users/urls.py,sha256=Mhu5nwqJwtV-7KDYDdZsY0qvzsMLBlVkUiPIyY_AEZQ,937
43
+ adjutant_ui/content/project_users/views.py,sha256=p2ex9KPXmt8oDEEl1t4sIZd7d4upHX0GAMH_L1M2Fzk,3230
44
44
  adjutant_ui/content/project_users/templates/project_users/_invite.html,sha256=R84TgXKj2iMIcoWkQNg-w_C7_TZT6cap99fT8G478qg,1009
45
45
  adjutant_ui/content/project_users/templates/project_users/_role_help.html,sha256=E3EotUP1VB01fHQQv09NAFsYbNMDG1NRSbdkOSqEGSw,572
46
46
  adjutant_ui/content/project_users/templates/project_users/_update.html,sha256=RAuhVjMOp9EHYhcpk9tCRmYSr_M-yfVdPfI2zIwwhgk,917
@@ -48,21 +48,21 @@ adjutant_ui/content/project_users/templates/project_users/index.html,sha256=qc33
48
48
  adjutant_ui/content/project_users/templates/project_users/invite.html,sha256=GQPd0V52bg5pd3rb7lUDrEwYD44djeiKBTCjhsVboi4,188
49
49
  adjutant_ui/content/project_users/templates/project_users/update.html,sha256=S6hoqR096SYy-mrVP-KlAQvxpjhveZCuecL-u_QlnDU,187
50
50
  adjutant_ui/content/quota/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
- adjutant_ui/content/quota/forms.py,sha256=KaflzgPvkJOXVPhkzuhiW2evo89uY_22AU1iHSbYPQo,2525
52
- adjutant_ui/content/quota/panel.py,sha256=DSdiUG_8VP8hLERp06VnwHaDxl45LApheu3G8v1hi_E,831
53
- adjutant_ui/content/quota/tables.py,sha256=Ip4EZiszTlUFviCx-ioRaqHRODOWfpGja96ca5E2wXk,6589
54
- adjutant_ui/content/quota/urls.py,sha256=PJWnIbmzlctmSCDqNsqv5EGPQ6vcoL_2dZsMwhVmYbI,1064
55
- adjutant_ui/content/quota/views.py,sha256=0WUh4alv7o8W58nPJ7Ov2PyasqnLlebRCe5OT4yE9NM,5985
51
+ adjutant_ui/content/quota/forms.py,sha256=ejyE6UrZlb3ODUXawRjNDgxXewaJL64Qqix8EvZcizU,2524
52
+ adjutant_ui/content/quota/panel.py,sha256=sZDOX0QpoB7GL7eWghs_5GorG347Tab6V0MTyxUR1Rw,830
53
+ adjutant_ui/content/quota/tables.py,sha256=cqld-_GHMLOoqkAtZ5-cchRKgi5UB_KUrPpOjpq52FY,6585
54
+ adjutant_ui/content/quota/urls.py,sha256=p4PUX6I6lxW0Cvdgt-EbQYQViErvnmV8IX_Be-5Jwm4,1091
55
+ adjutant_ui/content/quota/views.py,sha256=dyLU1IC4cG8OF2dSD_NHkfydrugnu12td71s9f_paXI,6115
56
56
  adjutant_ui/content/quota/templates/quota/_index_help.html,sha256=SWIuy1r9zgyvekFFHCh-fzyu15U20Xu-yzNSzVeOP1Q,813
57
57
  adjutant_ui/content/quota/templates/quota/_update.html,sha256=Dm7xF99avhr4rEv1lJrr85lbCXAtRvMkMpwX9Yb-ULw,2049
58
58
  adjutant_ui/content/quota/templates/quota/index.html,sha256=YPGFObr3tuoh-poEo4bN3opVXgxOuSwCpoVoGdkkOwA,596
59
- adjutant_ui/content/quota/templates/quota/region_detail.html,sha256=fhPS61ntmdjIvcYOoiwDY2ko3XCuhVIjJGVriZ4qOx8,157
60
- adjutant_ui/content/quota/templates/quota/size_detail.html,sha256=pQfyuqTLDKfwuAPDX8KtCJv05GCeXkr1JfTtISOPtwk,274
59
+ adjutant_ui/content/quota/templates/quota/region_detail.html,sha256=ibe--qsjShouo4vccPlZ3jomA0-GFsKqBKgXTEO67CM,189
60
+ adjutant_ui/content/quota/templates/quota/size_detail.html,sha256=DkSVtdtS5MbAiVqy7yE9x1b2DFH6qmBNXbhPuDzbUnA,197
61
61
  adjutant_ui/content/quota/templates/quota/update.html,sha256=r3d_WV-BmsyDMjr06K7okl-B-QTEz4H-zTBZtWqIutY,180
62
62
  adjutant_ui/content/signup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
- adjutant_ui/content/signup/forms.py,sha256=LWKOFFbdtO2t9GjXIPVf6zyK3J8NB5XvggSChTqMY2Q,2251
64
- adjutant_ui/content/signup/panel.py,sha256=bQHua6qW4pTkbZUvvQZGlELb1CPW99uo0arSQi9Cd0Q,749
65
- adjutant_ui/content/signup/urls.py,sha256=jNR1oPlwNqtV4IAaF2mNh7ji_kUj0eTb72o8BkroXnc,810
63
+ adjutant_ui/content/signup/forms.py,sha256=HKR5ZZ9Z8LnJO0Z_rqTJGkf19zFmEZU43wJpEWHRx4w,2250
64
+ adjutant_ui/content/signup/panel.py,sha256=u8KmhOL2ZTy-U3KDVXvDVhHqQf6PE8dUQHkBS_gpB3k,748
65
+ adjutant_ui/content/signup/urls.py,sha256=WM-23RmlQ7PN7wEHmLHuUlVvvrzGRVqJ2j5d0AyuRls,817
66
66
  adjutant_ui/content/signup/views.py,sha256=8jmB-ezLBlfE5U8eEXkrGep-G9axVWrEGqBYeqEaL3g,1073
67
67
  adjutant_ui/content/signup/templates/auth/_login_page.html,sha256=-8oUwrU0Lb_UdcEkZ1LiIQ6D1eIXUcit59HHiMF41hU,210
68
68
  adjutant_ui/content/signup/templates/signup/_index.html,sha256=KLkze8A-XiKlJnv93lYRyZ24Kh3WnsuPkthOmTaKtMg,444
@@ -72,12 +72,12 @@ adjutant_ui/content/signup/templates/signup/_submitted_text.html,sha256=9Lid6xTB
72
72
  adjutant_ui/content/signup/templates/signup/index.html,sha256=w_Q7BI2yEld5TZkvEkrsQHLJEMOUv-tIhJChNkKb5S8,211
73
73
  adjutant_ui/content/signup/templates/signup/submitted.html,sha256=CNdvdm7ldJK3hefOXvMt-Ve21RLsCAThD7VbyZ69BuU,222
74
74
  adjutant_ui/content/tasks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
- adjutant_ui/content/tasks/forms.py,sha256=UKLPbn2sBFcpyFOeEIXDbljfna1SwCi_yL_tNrFLpTo,1934
76
- adjutant_ui/content/tasks/panel.py,sha256=37q6dwZ9O7LU2D5mBBuLye7UtXcH6EouXARM1XhVzug,786
77
- adjutant_ui/content/tasks/tables.py,sha256=wyyRIbM1uqUIcA-jWpC4RbRCUwnkSkauq88AhN8Hw08,7512
78
- adjutant_ui/content/tasks/tabs.py,sha256=CDivySoEoz1r8WX3yQ7pWv1AIet17KmKj6QYGL70Xs0,4169
79
- adjutant_ui/content/tasks/urls.py,sha256=RiFUUkoJaQc70S-2NXfmt3bP1p0KhogNHHcgkS5eBjM,932
80
- adjutant_ui/content/tasks/views.py,sha256=KVxprb3IWlWTcZXPI03sRYcpuRmHILQfctWhoCN_zxQ,3975
75
+ adjutant_ui/content/tasks/forms.py,sha256=Fq7mNjzX8QZjEMX28GhOdHrCSfk6JL866EduLBwhLJo,1933
76
+ adjutant_ui/content/tasks/panel.py,sha256=zgg4IC_Hp3vgthwWXvfD8qDfF3Mp1bYf5Y9s_9N-2iI,785
77
+ adjutant_ui/content/tasks/tables.py,sha256=qpZA6SfOqmxSIa665PDrvgaqEKPv8qm6njV9MCR2_gc,7500
78
+ adjutant_ui/content/tasks/tabs.py,sha256=LZsG_P0S_WcxFusKq2RJ4xBPfLM3mYmDUVkMvNy5W08,4168
79
+ adjutant_ui/content/tasks/urls.py,sha256=YwtEhmmtcoHAnHfliBzpgGCJfGCnSjLD_rfg1WN0EC8,955
80
+ adjutant_ui/content/tasks/views.py,sha256=eXZyD0w9dXBtgnM_NrHcz3qZfINXkD2EJIgoA6UYfsY,3974
81
81
  adjutant_ui/content/tasks/templates/tasks/_task_detail_actions.html,sha256=TiZPzTeIlrCf8mxNaNp5Re8Hsz9lFugqdDRGUzltwcE,465
82
82
  adjutant_ui/content/tasks/templates/tasks/_task_detail_notes.html,sha256=GKdWLqJmHIHYgRhk7e8z_hhnjS8qZVkZoRJThBsjyKI,391
83
83
  adjutant_ui/content/tasks/templates/tasks/_task_detail_overview.html,sha256=Fms3TDDGKyXweEImilccHhLVQ92fireWxYo6YYGlXGI,1477
@@ -87,10 +87,10 @@ adjutant_ui/content/tasks/templates/tasks/update.html,sha256=BzbQBv-bbUvS5eQzMRl
87
87
  adjutant_ui/content/tasks/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
88
  adjutant_ui/content/tasks/templatetags/task_filters.py,sha256=0rqymGT9Ppk7VcKoaAOsWq3HEShjO-A_Qaw4Q0ZXXY0,322
89
89
  adjutant_ui/content/token/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
- adjutant_ui/content/token/forms.py,sha256=D4DG9zKgZGigCzsWSYll1g-JJJiCiEeQ3MssRZu6gio,2997
91
- adjutant_ui/content/token/panel.py,sha256=vditPMyLvpvm18oieIjK5l3AEDM_owV5VUbUuLuWmsI,789
92
- adjutant_ui/content/token/urls.py,sha256=b-OcAgeaXpgUGi3Ex8X4P6AG2okw7jPEsznmGp37EAg,766
93
- adjutant_ui/content/token/views.py,sha256=Ic5ALe4tDaoNxIj7OkVFfvf9Cmq4zXCeCH5UetnFnUk,5432
90
+ adjutant_ui/content/token/forms.py,sha256=ipqLehqCAjIHPyUeR03Tl8mwVXGi8E-LLHmLfVLml2c,2996
91
+ adjutant_ui/content/token/panel.py,sha256=H1GzObW2uDSrHKLel3Zeb9CogPe42xDarDS1Ui0cZWw,788
92
+ adjutant_ui/content/token/urls.py,sha256=1JE_g1JFWTDIm187FA0p407jhzOwRUCKb-cfez4Y51k,773
93
+ adjutant_ui/content/token/views.py,sha256=3avVq3R5IjbVfmO5KOePdUrNKnmaqDCO8_ftoh1XvRc,5431
94
94
  adjutant_ui/content/token/templates/token/_emailtokenconfirm.html,sha256=JcoUxV7gWDx3UnoFqL-ykPeM3uQAOF8JdnoBOfnKdSg,766
95
95
  adjutant_ui/content/token/templates/token/_setpassword.html,sha256=KFbeQzIn2JYca5bPWLK9S3VCGRZ9wAGzvhOyoM7EnuU,431
96
96
  adjutant_ui/content/token/templates/token/_setpassword_form.html,sha256=2GyslYIUkf1YA9DRbSKKFx1OR2b23OTI3YMUyNdsshs,1559
@@ -100,15 +100,15 @@ adjutant_ui/content/token/templates/token/emailtokenconfirm.html,sha256=vslO8X9-
100
100
  adjutant_ui/content/token/templates/token/setpassword.html,sha256=miwkNlPgrJjiTdqNJMTKaOn3izHdJYhaxPjxGl8QMv4,327
101
101
  adjutant_ui/content/token/templates/token/tokenconfirm.html,sha256=Sd1a7xKO2eWyYydCYxSPoecwrF30lu1GAeIw0ljOlx8,342
102
102
  adjutant_ui/dashboards/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
- adjutant_ui/dashboards/forgot_password_dash.py,sha256=PVMgbaBYRkq2d-OUG2iI_MwyBew6xRgiuerxjuFrV9w,997
104
- adjutant_ui/dashboards/management.py,sha256=usE3Y7WWVytgklE8qKGbPhGXzcD11uk_6-478hkO--0,913
105
- adjutant_ui/dashboards/signup_dash.py,sha256=NFQs5O3o4zOtlz8e27NQRYgJez19QbzJWqko0dOuTBs,930
106
- adjutant_ui/dashboards/token_dash.py,sha256=7q8eXV28gxB0eCI-s0JeOxjZDxnxi_RLqn2tf-ecnvM,921
103
+ adjutant_ui/dashboards/forgot_password_dash.py,sha256=ID0rczkSiFS563hoYQqbVrbSExc9m_jj2yppFZLuYUY,996
104
+ adjutant_ui/dashboards/management.py,sha256=hiQrcRQI3MgvVvHUZu7RhYEGgiJhPEOzXJm7VW0Lrhw,912
105
+ adjutant_ui/dashboards/signup_dash.py,sha256=rF4tgsXaZ2Yp6xBZkJe_KT89a5nfuFDn-HpdszNq4x0,929
106
+ adjutant_ui/dashboards/token_dash.py,sha256=BksX9Bd4MJfk6hmI4h97RI_lHI-hMyOvUSOLE4s5Q0w,920
107
107
  adjutant_ui/enabled/_6000_management.py,sha256=D1FauiuacBAV7dZaPYYRv9U-omC75Kol39dEL6VujmE,223
108
108
  adjutant_ui/enabled/_6001_adjutant_base.py,sha256=thIYroUe44Y6GnNoj7Yw05b7hjNuXc1ghSFlTB4piWs,218
109
109
  adjutant_ui/enabled/_6010_token.py,sha256=-h_zmn7wS4434W48KvlMZrCmZazZogBOZVkDRBOEN3A,252
110
110
  adjutant_ui/enabled/_6015_forgot_password.py,sha256=eggnC17zAYRkXdWb7kpzijdAgplxgkw14ngqWBeqXsE,282
111
- adjutant_ui/enabled/_6020_management_access_control_group.py,sha256=PKS3fVoolxl6w7VKFtqlD3xEJH_x2uyc1cq7e3zS2uI,355
111
+ adjutant_ui/enabled/_6020_management_access_control_group.py,sha256=ugESFKNUGFmuXaYUkma_jf2NbZtkohhxWj3QJRUbJoc,354
112
112
  adjutant_ui/enabled/_6021_management_project_users.py,sha256=NaInyrboYeetbMIwVnhLVp35ugwrfwxANKrjGe2KBis,391
113
113
  adjutant_ui/enabled/_6025_signup.py,sha256=uLKBlkNBJ7KP-uLFevCj4c8nfNESaHa2HaOpDEZ8rPU,255
114
114
  adjutant_ui/enabled/_6070_settings_update_email.py,sha256=RwC14CWtPXEkqvNZhYSGQZYu1pvrr5l5InMkUJ31T00,364
@@ -118,7 +118,7 @@ adjutant_ui/enabled/_6100_management_notification_list.py,sha256=5LON1OCQ8uTqOXb
118
118
  adjutant_ui/enabled/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
119
119
  adjutant_ui/templates/auth/_login_page.html,sha256=6-Px3nFn0yMokaGUvC0DMtv0vrwoV7NKSA49eCcnCGM,179
120
120
  adjutant_ui/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
121
- adjutant_ui/templatetags/relabel_username_field.py,sha256=SxbPaFBWoFfihK0OJHyKxzaVWK3QLCr_M8S0doPt29U,1422
121
+ adjutant_ui/templatetags/relabel_username_field.py,sha256=o_5XHFJerMUFQgheWpRgKcEDfCrp_qKgpPYztVtZ7HQ,1420
122
122
  adjutant_ui/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
123
  adjutant_ui/test/helpers.py,sha256=iUbXoCqE0aodPRoO4rcODe29C9BNfL72xSZ0gD0bUBU,760
124
124
  adjutant_ui/test/settings.py,sha256=qtSGM_530KU-40bBasZAS7j5dqS006LXrEHgTbKyXrE,1313
@@ -126,10 +126,10 @@ adjutant_ui/test/test_data.py,sha256=-IKquBTLx8vY_9FyyI_85qRd6D2w1ujfh-D2y_LHpX0
126
126
  adjutant_ui/test/api_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
127
127
  adjutant_ui/test/api_tests/test_rest_api.py,sha256=8FJ-u-1rZihgO4cdNd5OjWmk79WoMbrpcl-eK20Rvws,906
128
128
  adjutant_ui/test/integration_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
- adjutant_ui-8.0.0.0rc1.dist-info/AUTHORS,sha256=u0fNCEfsptT50p8WhQEk7bcoN_7G6kfM_3kTI3-lmGc,698
130
- adjutant_ui-8.0.0.0rc1.dist-info/LICENSE,sha256=XfKg2H1sVi8OoRxoisUlMqoo10TKvHmU_wU39ks7MyA,10143
131
- adjutant_ui-8.0.0.0rc1.dist-info/METADATA,sha256=3Jq3U9KxocNWeA7jGvK7TMzppDTrQsAmUhIE90kzAr4,1357
132
- adjutant_ui-8.0.0.0rc1.dist-info/WHEEL,sha256=g4nMs7d-Xl9-xC9XovUrsDHGXt-FT0E17Yqo92DEfvY,92
133
- adjutant_ui-8.0.0.0rc1.dist-info/pbr.json,sha256=RwJGIpnJVMEGTKTyCMIN8CuAgWnGAC5B2paYWr2Q6jw,46
134
- adjutant_ui-8.0.0.0rc1.dist-info/top_level.txt,sha256=SZodoDpuDyLbNsgafaIj6HyasMZFG_7vfy4pllcwBbQ,12
135
- adjutant_ui-8.0.0.0rc1.dist-info/RECORD,,
129
+ adjutant_ui-9.0.0.dist-info/AUTHORS,sha256=3jK9DxWxckuZ6tj7RkcTb8-nxuYar-yskwVJVRr4UxY,796
130
+ adjutant_ui-9.0.0.dist-info/LICENSE,sha256=XfKg2H1sVi8OoRxoisUlMqoo10TKvHmU_wU39ks7MyA,10143
131
+ adjutant_ui-9.0.0.dist-info/METADATA,sha256=jWJLZnE-gr351YbPCI7JcdmjUam02xZjgFCtkRYfYlw,1352
132
+ adjutant_ui-9.0.0.dist-info/WHEEL,sha256=g4nMs7d-Xl9-xC9XovUrsDHGXt-FT0E17Yqo92DEfvY,92
133
+ adjutant_ui-9.0.0.dist-info/pbr.json,sha256=cHa2jE3xTbO36AkDoU3rgOCJu8-3tJ7Kc6q8IdTv-m0,46
134
+ adjutant_ui-9.0.0.dist-info/top_level.txt,sha256=SZodoDpuDyLbNsgafaIj6HyasMZFG_7vfy4pllcwBbQ,12
135
+ adjutant_ui-9.0.0.dist-info/RECORD,,
@@ -0,0 +1 @@
1
+ {"git_version": "bab31ad", "is_release": true}
@@ -1 +0,0 @@
1
- {"git_version": "02dd3d7", "is_release": true}