Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixing Redirect on Successful License Submission #450

Merged
merged 8 commits into from
Jun 24, 2023
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions src/app/templates/app/submit_new_license.html
Original file line number Diff line number Diff line change
Expand Up @@ -352,12 +352,14 @@
data: form,
success: function (data) {
var githubCode = data.statusCode;
var githubIssueId = data.issueId;
if(githubCode == '201'){
var successMessage = "The license request has been successfully submitted.";
$("#messages").html('<div class="alert alert-success alert-dismissable fade in"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a><strong>Success! </strong>'+ successMessage +'</div>');
setTimeout(function() {
$("#messages").html("");
}, 7000);
setTimeout(function() {
$("#messages").html("");
}, 7000);
window.open("https://github.com/spdx/licnse-list-xml/issues/" + githubIssueId, "_blank");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Let's have this as constant - https://github.com/spdx/licnse-list-xml/issues/

}
else if(githubCode == '409'){
var matchType = data.matchType;
Expand Down
2 changes: 1 addition & 1 deletion src/app/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,7 @@ def createIssue(licenseAuthorName, licenseName, licenseIdentifier, licenseCommen
headers = {'Authorization': 'token ' + token}
url = "{0}/issues".format(TYPE_TO_URL_LICENSE[urlType])
r = requests.post(url, data=json.dumps(payload), headers=headers)
return r.status_code
return r.status_code, r.json()["number"]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will r.json() always work without issues? What about when status_code is not as expected like 404, 400, will r.json() parse correctly. Also, will "number" be always in the json? If not let's parse status_code for successfull code list and parse number key if exists. @BassCoder2808

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No actually, the number parameter will not be there if there was any issue while creating it through the API, I have added the code to handle that now, let me know if anything else needs to be done in that.



def postToGithub(message, encodedContent, filename):
Expand Down
14 changes: 11 additions & 3 deletions src/app/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ def submitNewLicense(request):
"""
context_dict = {}
ajaxdict = {}
githubIssueId = ""
if request.method=="POST":
if not request.user.is_authenticated:
if (request.is_ajax()):
Expand Down Expand Up @@ -162,7 +163,9 @@ def submitNewLicense(request):
licenseId = licenseRequest.id
serverUrl = request.build_absolute_uri('/')
licenseRequestUrl = os.path.join(serverUrl, reverse('license-requests')[1:], str(licenseId))
statusCode = utils.createIssue(licenseAuthorName, licenseName, licenseIdentifier, licenseComments, licenseSourceUrls, licenseHeader, licenseOsi, licenseExamples, licenseRequestUrl, token, urlType)
statusCode, githubIssueId = utils.createIssue(licenseAuthorName, licenseName, licenseIdentifier,
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1% of developers fix this issue

W291: trailing whitespace

❗❗ 5 similar findings have been found in this PR

🔎 Expand here to view all instances of this finding
File Path Line Number
src/app/views.py 167
src/app/views.py 993
src/app/views.py 994
src/app/views.py 1170
src/app/views.py 1171

Visit the Lift Web Console to find more details in your report.


ℹ️ Expand to see all @sonatype-lift commands

You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.

Command Usage
@sonatype-lift ignore Leave out the above finding from this PR
@sonatype-lift ignoreall Leave out all the existing findings from this PR
@sonatype-lift exclude <file|issue|path|tool> Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file

Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.


Help us improve LIFT! (Sonatype LiftBot external survey)

Was this a good recommendation for you? Answering this survey will not impact your Lift settings.

[ 🙁 Not relevant ] - [ 😕 Won't fix ] - [ 😑 Not critical, will fix ] - [ 🙂 Critical, will fix ] - [ 😊 Critical, fixing now ]

licenseComments, licenseSourceUrls, licenseHeader,
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1% of developers fix this issue

E501: line too long (120 > 79 characters)

❗❗ 7 similar findings have been found in this PR

🔎 Expand here to view all instances of this finding
File Path Line Number
src/app/views.py 168
src/app/views.py 993
src/app/views.py 994
src/app/views.py 995
src/app/views.py 1170
src/app/views.py 1171
src/app/views.py 1172

Visit the Lift Web Console to find more details in your report.


ℹ️ Expand to see all @sonatype-lift commands

You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.

Command Usage
@sonatype-lift ignore Leave out the above finding from this PR
@sonatype-lift ignoreall Leave out all the existing findings from this PR
@sonatype-lift exclude <file|issue|path|tool> Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file

Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.


Help us improve LIFT! (Sonatype LiftBot external survey)

Was this a good recommendation for you? Answering this survey will not impact your Lift settings.

[ 🙁 Not relevant ] - [ 😕 Won't fix ] - [ 😑 Not critical, will fix ] - [ 🙂 Critical, will fix ] - [ 😊 Critical, fixing now ]

licenseOsi, licenseExamples, licenseRequestUrl, token, urlType)

# If the license text matches with either rejected or yet not approved license then return 409 Conflict
else:
Expand All @@ -172,6 +175,7 @@ def submitNewLicense(request):
data['issueUrl'] = issueUrl

data['statusCode'] = str(statusCode)
data['issueId'] = str(githubIssueId)
return JsonResponse(data)
except UserSocialAuth.DoesNotExist:
""" User not authenticated with GitHub """
Expand Down Expand Up @@ -986,7 +990,9 @@ def promoteNamespaceRequests(request, license_id=None):
if 'urlType' in request.POST:
# This is present only when executing submit license via tests
urlType = request.POST["urlType"]
statusCode = utils.createIssue(licenseAuthorName, licenseName, licenseIdentifier, licenseComments, licenseSourceUrls, licenseHeader, licenseOsi, licenseExamples, licenseRequestUrl, token, urlType)
statusCode, githubIssueId = utils.createIssue(licenseAuthorName, licenseName, licenseIdentifier,
licenseComments, licenseSourceUrls, licenseHeader, licenseOsi,
licenseExamples, licenseRequestUrl, token, urlType)
return_tuple = (statusCode, licenseRequest)
statusCode = return_tuple[0]
if statusCode == 201:
Expand Down Expand Up @@ -1161,7 +1167,9 @@ def issue(request):
licenseRequestId = licenseRequest.id
serverUrl = request.build_absolute_uri('/')
licenseRequestUrl = os.path.join(serverUrl, reverse('license-requests')[1:], str(licenseRequestId))
statusCode = utils.createIssue(licenseAuthorName, licenseName, licenseIdentifier, licenseComments, licenseSourceUrls, licenseHeader, licenseOsi, licenseExamples, licenseRequestUrl, token, urlType, matchId, diffUrl, msg)
statusCode, githubIssueId = utils.createIssue(licenseAuthorName, licenseName, licenseIdentifier,
licenseComments, licenseSourceUrls, licenseHeader, licenseOsi,
licenseExamples, licenseRequestUrl, token, urlType, matchId, diffUrl, msg)
data['statusCode'] = str(statusCode)
return JsonResponse(data)
except UserSocialAuth.DoesNotExist:
Expand Down