Skip to content

Commit 1f8a8ee

Browse files
authored
Fix links to app logs (#736)
1 parent c370bee commit 1f8a8ee

File tree

3 files changed

+22
-5
lines changed

3 files changed

+22
-5
lines changed

controlpanel/api/models/app.py

+9-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@
44
from django_extensions.db.models import TimeStampedModel
55

66
from controlpanel.api import auth0, cluster
7-
from controlpanel.utils import github_repository_name, s3_slugify
7+
from controlpanel.utils import (
8+
github_repository_name,
9+
s3_slugify,
10+
webapp_release_name,
11+
)
812

913

1014
class App(TimeStampedModel):
@@ -30,6 +34,10 @@ def iam_role_name(self):
3034
def _repo_name(self):
3135
return github_repository_name(self.repo_url)
3236

37+
@property
38+
def release_name(self):
39+
return webapp_release_name(self._repo_name)
40+
3341
@property
3442
def customers(self):
3543
return auth0.AuthorizationAPI().get_group_members(group_name=self.slug) or []
@@ -62,7 +70,6 @@ def save(self, *args, **kwargs):
6270

6371
return self
6472

65-
6673
def delete(self, *args, **kwargs):
6774
cluster.delete_app_role(self.iam_role_name)
6875
super().delete(*args, **kwargs)

controlpanel/frontend/jinja2/includes/app-logs.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -65,16 +65,16 @@
6565
key:app_name,
6666
negate:!f,
6767
params:(
68-
query:{{object.name}}-webapp,
68+
query:{{app.release_name}}-webapp,
6969
type:phrase
7070
),
7171
type:phrase,
72-
value:{{object.name}}-webapp
72+
value:{{app.release_name}}-webapp
7373
),
7474
query:(
7575
match:(
7676
app_name:(
77-
query:{{object.name}}-webapp,
77+
query:{{app.release_name}}-webapp,
7878
type:phrase
7979
)
8080
)

controlpanel/utils.py

+10
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
from django.template.defaultfilters import slugify
66

77

8+
INVALID_CHARS = re.compile(r"[^-a-z0-9]")
9+
SURROUNDING_HYPHENS = re.compile(r"^-*|-*$")
10+
11+
812
def github_repository_name(url):
913
"""
1014
Get the repository name from a Github URL
@@ -53,6 +57,12 @@ def sanitize_environment_variable(s):
5357
return name.upper().replace("-", "_")
5458

5559

60+
def webapp_release_name(repo_name):
61+
name = repo_name.lower()
62+
name = SURROUNDING_HYPHENS.sub("", INVALID_CHARS.sub("-", name))
63+
return name[:50]
64+
65+
5666
class PatchedAsyncHttpConsumer(AsyncHttpConsumer):
5767
"""
5868
Patch AsyncHttpConsumer so that it doesn't disconnect immediately

0 commit comments

Comments
 (0)