diff --git a/pagure/__init__.py b/pagure/__init__.py index 4ae9f8e..207d72c 100644 --- a/pagure/__init__.py +++ b/pagure/__init__.py @@ -179,12 +179,11 @@ def generate_user_key_files(): pagure.lib.git.generate_gitolite_acls() -def cla_required(function): - """ Flask decorator to retrict access to CLA signed user. -To use this decorator you need to have a function named 'auth_login'. -Without that function the redirect if the user is not logged in will not -work. -""" +def login_required(function): + """ Flask decorator to retrict access to logged in user. + If the auth system is ``fas`` it will also require that the user sign + the FPCA. + """ auth_method = APP.config.get('PAGURE_AUTH', None) @wraps(function) diff --git a/pagure/ui/app.py b/pagure/ui/app.py index 37b7bd0..fcd2a12 100644 --- a/pagure/ui/app.py +++ b/pagure/ui/app.py @@ -18,7 +18,7 @@ import pagure.lib import pagure.lib.git import pagure.forms import pagure.ui.filters -from pagure import (APP, SESSION, cla_required, +from pagure import (APP, SESSION, login_required, authenticated, admin_session_timedout) @@ -340,7 +340,7 @@ def view_user_requests(username): @APP.route('/new/', methods=('GET', 'POST')) @APP.route('/new', methods=('GET', 'POST')) -@cla_required +@login_required def new_project(): """ Form to create a new project. """ @@ -386,7 +386,7 @@ def new_project(): @APP.route('/settings/', methods=('GET', 'POST')) @APP.route('/settings', methods=('GET', 'POST')) -@cla_required +@login_required def user_settings(): """ Update the user settings. """ @@ -444,7 +444,7 @@ def markdown_preview(): @APP.route('/settings/email/drop', methods=['POST']) -@cla_required +@login_required def remove_user_email(): """ Remove the specified email from the logged in user. """ @@ -495,7 +495,7 @@ def remove_user_email(): @APP.route('/settings/email/add/', methods=['GET', 'POST']) @APP.route('/settings/email/add', methods=['GET', 'POST']) -@cla_required +@login_required def add_user_email(): """ Add a new email for the logged in user. """ @@ -533,7 +533,7 @@ def add_user_email(): @APP.route('/settings/email/default', methods=['POST']) -@cla_required +@login_required def set_default_email(): """ Set the default email address of the user. """ diff --git a/pagure/ui/fork.py b/pagure/ui/fork.py index 121f931..9493871 100644 --- a/pagure/ui/fork.py +++ b/pagure/ui/fork.py @@ -21,7 +21,7 @@ import pagure.exceptions import pagure.lib import pagure.lib.git import pagure.forms -from pagure import (APP, SESSION, LOG, cla_required, is_repo_admin) +from pagure import (APP, SESSION, LOG, login_required, is_repo_admin) # pylint: disable=E1101 @@ -345,7 +345,7 @@ def request_pull_patch(repo, requestid, username=None): methods=('GET', 'POST')) @APP.route('/fork///pull-request//edit', methods=('GET', 'POST')) -@cla_required +@login_required def request_pull_edit(repo, requestid, username=None): """ Edit the title of a pull-request. """ @@ -408,7 +408,7 @@ def request_pull_edit(repo, requestid, username=None): methods=['POST']) @APP.route('/fork///pull-request//comment/' '//', methods=('GET', 'POST')) -@cla_required +@login_required def pull_request_add_comment( repo, requestid, commit=None, filename=None, row=None, username=None): @@ -486,7 +486,7 @@ def pull_request_add_comment( methods=['POST']) @APP.route('/fork///pull-request//comment/drop', methods=['POST']) -@cla_required +@login_required def pull_request_drop_comment(repo, requestid, username=None): """ Delete a comment of a pull-request. """ @@ -549,7 +549,7 @@ def pull_request_drop_comment(repo, requestid, username=None): methods=('GET', 'POST')) @APP.route('/fork///pull-request//comment' '//edit', methods=('GET', 'POST')) -@cla_required +@login_required def pull_request_edit_comment(repo, requestid, commentid, username=None): """Edit comment of a pull request """ @@ -629,7 +629,7 @@ def pull_request_edit_comment(repo, requestid, commentid, username=None): @APP.route('//pull-request//merge', methods=['POST']) @APP.route('/fork///pull-request//merge', methods=['POST']) -@cla_required +@login_required def merge_request_pull(repo, requestid, username=None): """ Request pulling the changes from the fork into the project. """ @@ -704,7 +704,7 @@ def merge_request_pull(repo, requestid, username=None): methods=['POST']) @APP.route('/fork///pull-request/cancel/', methods=['POST']) -@cla_required +@login_required def cancel_request_pull(repo, requestid, username=None): """ Cancel request pulling request. """ @@ -754,7 +754,7 @@ def cancel_request_pull(repo, requestid, username=None): @APP.route('//pull-request//assign', methods=['POST']) @APP.route('/fork///pull-request//assign', methods=['POST']) -@cla_required +@login_required def set_assignee_requests(repo, requestid, username=None): ''' Assign a pull-request. ''' repo = pagure.lib.get_project(SESSION, repo, user=username) @@ -805,7 +805,7 @@ def set_assignee_requests(repo, requestid, username=None): @APP.route('/do_fork/', methods=['POST']) @APP.route('/do_fork//', methods=['POST']) -@cla_required +@login_required def fork_project(repo, username=None): """ Fork the project specified into the user's namespace """ @@ -978,7 +978,7 @@ def new_request_pull(repo, branch_to, branch_from, username=None): '/fork///diff/remote/', methods=('GET', 'POST')) @APP.route( '/fork///diff/remote', methods=('GET', 'POST')) -@cla_required +@login_required def new_remote_request_pull(repo, username=None): """ Request pulling the changes from a remote fork into the project. """ diff --git a/pagure/ui/groups.py b/pagure/ui/groups.py index 5582b6d..7e311a2 100644 --- a/pagure/ui/groups.py +++ b/pagure/ui/groups.py @@ -114,7 +114,7 @@ def view_group(group): @pagure.APP.route('/group///delete', methods=['POST']) -@pagure.cla_required +@pagure.login_required def group_user_delete(user, group): """ Delete an user from a certain group """ @@ -156,7 +156,7 @@ def group_user_delete(user, group): @pagure.APP.route('/group//delete', methods=['POST']) -@pagure.cla_required +@pagure.login_required def group_delete(group): """ Delete a certain group """ @@ -194,7 +194,7 @@ def group_delete(group): @pagure.APP.route('/group/add/', methods=['GET', 'POST']) @pagure.APP.route('/group/add', methods=['GET', 'POST']) -@pagure.cla_required +@pagure.login_required def add_group(): """ Endpoint to create groups """ diff --git a/pagure/ui/issues.py b/pagure/ui/issues.py index 98b93d0..1dc746e 100644 --- a/pagure/ui/issues.py +++ b/pagure/ui/issues.py @@ -22,7 +22,7 @@ import pagure.doc_utils import pagure.lib import pagure.forms from pagure import (APP, SESSION, LOG, __get_file_in_tree, - cla_required, is_repo_admin, authenticated) + login_required, is_repo_admin, authenticated) # pylint: disable=E1101 @@ -35,7 +35,7 @@ from pagure import (APP, SESSION, LOG, __get_file_in_tree, methods=['GET', 'POST']) @APP.route('/fork///issue//update', methods=['GET', 'POST']) -@cla_required +@login_required def update_issue(repo, issueid, username=None): ''' Add a comment to an issue. ''' is_js = flask.request.args.get('js', False) @@ -234,7 +234,7 @@ def update_issue(repo, issueid, username=None): @APP.route('//tag//edit', methods=('GET', 'POST')) @APP.route('/fork///tag//edit/', methods=('GET', 'POST')) @APP.route('/fork///tag//edit', methods=('GET', 'POST')) -@cla_required +@login_required def edit_tag(repo, tag, username=None): """ Edit the specified tag of a project. """ @@ -281,7 +281,7 @@ def edit_tag(repo, tag, username=None): @APP.route('//droptag/', methods=['POST']) @APP.route('/fork///droptag/', methods=['POST']) -@cla_required +@login_required def remove_tag(repo, username=None): """ Remove the specified tag from the project. """ @@ -414,7 +414,7 @@ def view_issues(repo, username=None): @APP.route('//new_issue', methods=('GET', 'POST')) @APP.route('/fork///new_issue/', methods=('GET', 'POST')) @APP.route('/fork///new_issue', methods=('GET', 'POST')) -@cla_required +@login_required def new_issue(repo, username=None): """ Create a new issue """ @@ -587,7 +587,7 @@ def delete_issue(repo, issueid, username=None): methods=('GET', 'POST')) @APP.route('/fork///issue//edit', methods=('GET', 'POST')) -@cla_required +@login_required def edit_issue(repo, issueid, username=None): """ Edit the specified issue """ @@ -687,7 +687,7 @@ def edit_issue(repo, issueid, username=None): @APP.route('//issue//upload', methods=['POST']) @APP.route('/fork///issue//upload', methods=['POST']) -@cla_required +@login_required def upload_issue(repo, issueid, username=None): ''' Upload a file to a ticket. ''' @@ -791,7 +791,7 @@ def view_issue_raw_file(repo, filename=None, username=None): methods=('GET', 'POST')) @APP.route('/fork///issue//comment' '//edit', methods=('GET', 'POST')) -@cla_required +@login_required def edit_comment_issue(repo, issueid, commentid, username=None): """Edit comment of an issue """ diff --git a/pagure/ui/login.py b/pagure/ui/login.py index c42ddf3..7a3a00f 100644 --- a/pagure/ui/login.py +++ b/pagure/ui/login.py @@ -23,7 +23,7 @@ import pagure.lib import pagure.lib.login import pagure.lib.model as model import pagure.lib.notify -from pagure import APP, SESSION, cla_required +from pagure import APP, SESSION, login_required from pagure.lib.login import generate_hashed_value, check_password # pylint: disable=E1101 @@ -278,7 +278,7 @@ def reset_password(token): @APP.route('/password/change/', methods=['GET', 'POST']) @APP.route('/password/change', methods=['GET', 'POST']) -@cla_required +@login_required def change_password(): """ Method to change the password for local auth users. """ diff --git a/pagure/ui/plugins.py b/pagure/ui/plugins.py index 701cf85..7c8ba32 100644 --- a/pagure/ui/plugins.py +++ b/pagure/ui/plugins.py @@ -17,7 +17,7 @@ from pagure.hooks import BaseHook import pagure.exceptions import pagure.lib import pagure.forms -from pagure import APP, SESSION, cla_required, is_repo_admin +from pagure import APP, SESSION, login_required, is_repo_admin from pagure.lib.model import BASE # pylint: disable=E1101 @@ -64,7 +64,7 @@ def get_plugin(plugin_name): methods=('GET', 'POST')) @APP.route('/fork///settings//', methods=('GET', 'POST')) -@cla_required +@login_required def view_plugin(repo, plugin, username=None, full=True): """ Presents the settings of the project. """ diff --git a/pagure/ui/repo.py b/pagure/ui/repo.py index 5cdb554..bd5b290 100644 --- a/pagure/ui/repo.py +++ b/pagure/ui/repo.py @@ -36,7 +36,7 @@ import pagure.lib.git import pagure.forms import pagure import pagure.ui.plugins -from pagure import (APP, SESSION, LOG, __get_file_in_tree, cla_required, +from pagure import (APP, SESSION, LOG, __get_file_in_tree, login_required, is_repo_admin, admin_session_timedout) # pylint: disable=E1101 @@ -732,7 +732,7 @@ def view_tags(repo, username=None): @APP.route('//upload', methods=('GET', 'POST')) @APP.route('/fork///upload/', methods=('GET', 'POST')) @APP.route('/fork///upload', methods=('GET', 'POST')) -@cla_required +@login_required def new_release(repo, username=None): """ Upload a new release. """ @@ -782,7 +782,7 @@ def new_release(repo, username=None): @APP.route('//settings', methods=('GET', 'POST')) @APP.route('/fork///settings/', methods=('GET', 'POST')) @APP.route('/fork///settings', methods=('GET', 'POST')) -@cla_required +@login_required def view_settings(repo, username=None): """ Presents the settings of the project. """ @@ -865,7 +865,7 @@ def view_settings(repo, username=None): @APP.route('//update', methods=['POST']) @APP.route('/fork///update', methods=['POST']) -@cla_required +@login_required def update_project(repo, username=None): """ Update the description of a project. """ @@ -912,7 +912,7 @@ def update_project(repo, username=None): @APP.route('//default/branch/', methods=['POST']) @APP.route('/fork///default/branch/', methods=['POST']) -@cla_required +@login_required def change_ref_head(repo, username=None): """ Change HEAD reference """ @@ -952,7 +952,7 @@ def change_ref_head(repo, username=None): @APP.route('//delete', methods=['POST']) @APP.route('/fork///delete', methods=['POST']) -@cla_required +@login_required def delete_repo(repo, username=None): """ Delete the present project. """ @@ -1012,7 +1012,7 @@ def delete_repo(repo, username=None): @APP.route('//hook_token', methods=['POST']) @APP.route('/fork///hook_token', methods=['POST']) -@cla_required +@login_required def new_repo_hook_token(repo, username=None): """ Re-generate a hook token for the present project. """ @@ -1055,7 +1055,7 @@ def new_repo_hook_token(repo, username=None): @APP.route('//dropuser/', methods=['POST']) @APP.route('/fork///dropuser/', methods=['POST']) -@cla_required +@login_required def remove_user(repo, userid, username=None): """ Remove the specified user from the project. """ @@ -1110,7 +1110,7 @@ def remove_user(repo, userid, username=None): @APP.route('//adduser', methods=('GET', 'POST')) @APP.route('/fork///adduser/', methods=('GET', 'POST')) @APP.route('/fork///adduser', methods=('GET', 'POST')) -@cla_required +@login_required def add_user(repo, username=None): """ Add the specified user from the project. """ @@ -1169,7 +1169,7 @@ def add_user(repo, username=None): @APP.route('//addgroup', methods=('GET', 'POST')) @APP.route('/fork///addgroup/', methods=('GET', 'POST')) @APP.route('/fork///addgroup', methods=('GET', 'POST')) -@cla_required +@login_required def add_group_project(repo, username=None): """ Add the specified group from the project. """ @@ -1226,7 +1226,7 @@ def add_group_project(repo, username=None): @APP.route('//regenerate', methods=['POST']) @APP.route('/fork///regenerate', methods=['POST']) -@cla_required +@login_required def regenerate_git(repo, username=None): """ Regenerate the specified git repo with the content in the project. """ @@ -1276,7 +1276,7 @@ def regenerate_git(repo, username=None): @APP.route('//token/new', methods=('GET', 'POST')) @APP.route('/fork///token/new/', methods=('GET', 'POST')) @APP.route('/fork///token/new', methods=('GET', 'POST')) -@cla_required +@login_required def add_token(repo, username=None): """ Add a token to a specified project. """ @@ -1333,7 +1333,7 @@ def add_token(repo, username=None): @APP.route('//token/revoke/', methods=['POST']) @APP.route('/fork///token/revoke/', methods=['POST']) -@cla_required +@login_required def revoke_api_token(repo, token_id, username=None): """ Revokie a token to a specified project. """ @@ -1387,7 +1387,7 @@ def revoke_api_token(repo, token_id, username=None): @APP.route( '/fork///edit//f/', methods=('GET', 'POST')) -@cla_required +@login_required def edit_file(repo, branchname, filename, username=None): """ Edit a file online. """ @@ -1474,7 +1474,7 @@ def edit_file(repo, branchname, filename, username=None): @APP.route('///delete', methods=['POST']) @APP.route('/fork////delete', methods=['POST']) -@cla_required +@login_required def delete_branch(repo, branchname, username=None): """ Delete the branch of a project. """