Skip to content

Commit

Permalink
simplify valid jira url logic
Browse files Browse the repository at this point in the history
  • Loading branch information
tiftran committed Mar 9, 2020
1 parent 1f25907 commit 49dfa50
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 10 deletions.
2 changes: 1 addition & 1 deletion .env.sample
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ DB_PASS=postgres
DB_USER=postgres
DEBUG=True
DELIVERY_CONSOLE_HOST=
DS_ISSUE_HOST=
DS_ISSUE_HOST=https://jira.mozilla.com
EMAIL_BACKEND=django.core.mail.backends.console.EmailBackend
EMAIL_HOST=
EMAIL_HOST_PASSWORD=
Expand Down
12 changes: 3 additions & 9 deletions app/experimenter/experiments/forms.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import decimal
import json
import re
from urllib.parse import urljoin

from django import forms
from django.conf import settings
Expand Down Expand Up @@ -52,20 +51,15 @@ def clean(self, value):
if cleaned_value:
err_str = "Please Provide a Valid URL ex: {ds_url}DS-123 or {ds_url}DO-123"

DS_root = urljoin(settings.DS_ISSUE_HOST, "DS-")
DO_root = urljoin(settings.DS_ISSUE_HOST, "DO-")

if (
DS_root not in cleaned_value and DO_root not in cleaned_value
) or self.get_ds_issue_id(cleaned_value) is None:
if self.validate_ds_issue_url(cleaned_value) is None:

raise forms.ValidationError(err_str.format(ds_url=settings.DS_ISSUE_HOST))
return cleaned_value

def get_ds_issue_id(self, bug_url):
def validate_ds_issue_url(self, bug_url):
ds = re.match(re.escape(settings.DS_ISSUE_HOST) + r"(DS|DO)-(\w+.*)", bug_url)

return ds.group(1)
return ds


class BugzillaURLField(forms.URLField):
Expand Down

0 comments on commit 49dfa50

Please sign in to comment.