Add links to GitHub oauth connection settings
This commit is contained in:
parent
c31c1fd92a
commit
744c52ba18
@ -18,7 +18,7 @@ from flask import Blueprint
|
||||
|
||||
bp = Blueprint("github", __name__)
|
||||
|
||||
from flask import redirect, url_for, request, flash, abort, render_template, jsonify
|
||||
from flask import redirect, url_for, request, flash, abort, render_template, jsonify, current_app
|
||||
from flask_user import current_user, login_required
|
||||
from sqlalchemy import func
|
||||
from flask_github import GitHub
|
||||
@ -35,6 +35,12 @@ from wtforms import SelectField, SubmitField
|
||||
def start():
|
||||
return github.authorize("", redirect_uri=abs_url_for("github.callback"))
|
||||
|
||||
@bp.route("/github/view/")
|
||||
def view_permissions():
|
||||
url = "https://github.com/settings/connections/applications/" + \
|
||||
current_app.config["GITHUB_CLIENT_ID"]
|
||||
return redirect(url)
|
||||
|
||||
@bp.route("/github/callback/")
|
||||
@github.authorized_handler
|
||||
def callback(oauth_token):
|
||||
|
@ -23,19 +23,20 @@ The process is as follows:
|
||||
|
||||
## Setting up
|
||||
|
||||
### Github (automatic)
|
||||
### GitHub (automatic)
|
||||
|
||||
1. Go to your package page.
|
||||
1. Go to your package's page.
|
||||
2. Make sure that the repository URL is set to a Github repository.
|
||||
Only github.com is supported.
|
||||
3. Go to "Create a release", and click "Setup webhook" at the top of the page.
|
||||
3. Go to "Releases" > "+", and click "Setup webhook" at the top of the create release
|
||||
page.
|
||||
If you do not see this, either the repository isn't using Github or you do
|
||||
not have permission to use webhook releases (ie: you're not a Trusted Member).
|
||||
4. Grant ContentDB the ability to manage Webhooks.
|
||||
5. Set the event to either "New tag" or "Push". New tag is highlight recommended.
|
||||
5. Set the event to either "New tag or Github Release" (highly recommended) or "Push".
|
||||
|
||||
N.B.: GitHub uses tags to power GitHub Releases, meaning that creating a webhook
|
||||
on "new tag" will sync GitHub and ContentDB releases.
|
||||
on "New tag" will sync GitHub and ContentDB releases.
|
||||
|
||||
### GitHub (manual)
|
||||
|
||||
|
@ -20,4 +20,10 @@
|
||||
|
||||
{{ render_submit_field(form.submit) }}
|
||||
</form>
|
||||
|
||||
<p class="mt-4">
|
||||
You will need admin access to the repository.
|
||||
When setting up hooks on an organisation,
|
||||
<a href="{{ url_for('github.view_permissions') }}">make sure that you have granted access</a>.
|
||||
</p>
|
||||
{% endblock %}
|
||||
|
@ -64,6 +64,7 @@
|
||||
| <a href="{{ user.website_url }}" rel="nofollow">Website</a>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if user == current_user %}
|
||||
<br>
|
||||
<small class="text-muted">
|
||||
@ -73,6 +74,16 @@
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{% if user == current_user and user.github_username %}
|
||||
<tr>
|
||||
<td>Privacy:</td>
|
||||
<td>
|
||||
<a href="{{ url_for('github.view_permissions') }}">View ContentDB's GitHub Permissions</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
{% if current_user.is_authenticated and current_user.rank.atLeast(current_user.rank.MODERATOR) %}
|
||||
<tr>
|
||||
<td>Admin</td>
|
||||
|
Loading…
x
Reference in New Issue
Block a user