コード例 #1
0
ファイル: blueprint.py プロジェクト: jacquesd/indico
_bp = IndicoBlueprint('auth', __name__, template_folder='templates', virtual_template_folder='auth')


_bp.add_url_rule('/login/', 'login', RHLogin, methods=('GET', 'POST'))
_bp.add_url_rule('/login/<provider>/', 'login', RHLogin)
_bp.add_url_rule('/login/<provider>/form', 'login_form', RHLoginForm)
_bp.add_url_rule('/login/<provider>/link-account', 'link_account', RHLinkAccount, methods=('GET', 'POST'))
_bp.add_url_rule('/logout/', 'logout', RHLogout, methods=('GET', 'POST'))

_bp.add_url_rule('/register/', 'register', RHRegister, methods=('GET', 'POST'), defaults={'provider': None})
_bp.add_url_rule('/register/<provider>', 'register', RHRegister, methods=('GET', 'POST'))

_bp.add_url_rule('/reset-password/', 'resetpass', RHResetPassword, methods=('GET', 'POST'))

with _bp.add_prefixed_rules('/user/<int:user_id>', '/user'):
    _bp.add_url_rule('/accounts/', 'accounts', RHAccounts, methods=('GET', 'POST'))
    _bp.add_url_rule('/accounts/<identity>/remove/', 'remove_account', RHRemoveAccount, methods=('POST',))


@_bp.url_defaults
def _add_user_id(endpoint, values):
    if endpoint in {'auth.accounts', 'auth.remove_account'} and 'user_id' not in values:
        values['user_id'] = request.view_args.get('user_id')


# Legacy URLs
auth_compat_blueprint = _compat_bp = IndicoBlueprint('compat_auth', __name__)
_compat_bp.add_url_rule('/user/login', 'login', make_compat_redirect_func(_bp, 'login'))
_compat_bp.add_url_rule('/user/register', 'register', make_compat_redirect_func(_bp, 'register'))
コード例 #2
0

_bp = IndicoBlueprint('timetable', __name__, template_folder='templates', virtual_template_folder='events/timetable',
                      url_prefix='/event/<confId>')

# Management
_bp.add_url_rule('/manage/timetable/', 'management', RHManageTimetable)
_bp.add_url_rule('/manage/timetable/', 'timetable_rest', RHTimetableREST, methods=('POST',))
_bp.add_url_rule('/manage/timetable/<int:entry_id>', 'timetable_rest', RHTimetableREST, methods=('PATCH', 'DELETE'))
_bp.add_url_rule('/manage/timetable/session/<int:session_id>/', 'manage_session', RHManageSessionTimetable)

# Timetable legacy operations
_bp.add_url_rule('/manage/timetable/add-session', 'add_session', RHLegacyTimetableAddSession, methods=('GET', 'POST'))
_bp.add_url_rule('/manage/timetable/break/<int:break_id>', 'legacy_break_rest', RHLegacyTimetableBreakREST,
                 methods=('PATCH',))
with _bp.add_prefixed_rules('/manage/timetable/session/<int:session_id>', '/manage/timetable'):
    _bp.add_url_rule('/', 'session_rest', RHLegacyTimetableEditSession,
                     methods=('PATCH',))
    _bp.add_url_rule('/entry/<int:entry_id>/info', 'entry_info_manage', RHManageTimetableEntryInfo)
    _bp.add_url_rule('/entry/<int:entry_id>/delete', 'delete_entry', RHLegacyTimetableDeleteEntry, methods=('POST',))
    _bp.add_url_rule('/entry/<int:entry_id>/move', 'move_entry', RHLegacyTimetableMoveEntry,
                     methods=('GET', 'POST'))
    _bp.add_url_rule('/entry/<int:entry_id>/shift', 'shift_entries', RHLegacyTimetableShiftEntries, methods=('POST',))
    _bp.add_url_rule('/entry/<int:entry_id>/swap', 'swap_entries', RHLegacyTimetableSwapEntries, methods=('POST',))
    _bp.add_url_rule('/entry/<int:entry_id>/edit/', 'edit_entry', RHLegacyTimetableEditEntry, methods=('GET', 'POST'))
    _bp.add_url_rule('/entry/<int:entry_id>/edit/time', 'edit_entry_time', RHLegacyTimetableEditEntryTime,
                     methods=('GET', 'POST'))
    _bp.add_url_rule('/entry/<int:entry_id>/edit/datetime', 'edit_entry_datetime', RHLegacyTimetableEditEntryDateTime,
                     methods=('POST',))
    _bp.add_url_rule('/block/<block_id>/schedule', 'schedule', RHLegacyTimetableScheduleContribution, methods=('POST',))
    _bp.add_url_rule('/block/<block_id>/fit', 'fit_session_block', RHLegacyTimetableFitBlock, methods=('POST',))
コード例 #3
0
ファイル: blueprint.py プロジェクト: qroques/indico
_bp.add_url_rule('/contributions/<int:contrib_id>/author/<int:person_id>',
                 'display_author', display.RHContributionAuthor)
_bp.add_url_rule('/contributions/<int:contrib_id>/contribution.pdf',
                 'export_pdf', display.RHContributionExportToPDF)
_bp.add_url_rule('/contributions/<int:contrib_id>/contribution.ics',
                 'export_ics', display.RHContributionExportToICAL)
_bp.add_url_rule(
    '/contributions/<int:contrib_id>/subcontributions/<int:subcontrib_id>',
    'display_subcontribution', display.RHSubcontributionDisplay)

# Legacy URLs
_compat_bp = IndicoBlueprint('compat_contributions',
                             __name__,
                             url_prefix='/event/<event_id>')

with _compat_bp.add_prefixed_rules('/session/<legacy_session_id>'):
    _compat_bp.add_url_rule(
        '/contribution/<legacy_contribution_id>', 'contribution',
        partial(compat_contribution, 'display_contribution'))
    _compat_bp.add_url_rule('/contribution/<legacy_contribution_id>.ics',
                            'contribution_ics',
                            partial(compat_contribution, 'export_ics'))
    _compat_bp.add_url_rule('/contribution/<legacy_contribution_id>.pdf',
                            'contribution_pdf',
                            partial(compat_contribution, 'export_pdf'))
    _compat_bp.add_url_rule(
        '/contribution/<legacy_contribution_id>/<legacy_subcontribution_id>',
        'subcontribution', compat_subcontribution)

_compat_bp.add_url_rule(
    '/my-conference/contributions', 'my_contributions',
コード例 #4
0
ファイル: blueprint.py プロジェクト: belokop/indico_bare
_bp.add_url_rule('/contributions/customize', 'customize_contribution_list', RHContributionReport,
                 methods=('GET', 'POST'))
_bp.add_url_rule('/contributions/static-url', 'contribution_list_static_url', RHContributionListStaticURL,
                 methods=('POST',))
_bp.add_url_rule('/contributions/<int:contrib_id>/', 'display_contribution', RHContributionDisplay)
_bp.add_url_rule('/contributions/<int:contrib_id>/author/<int:person_id>', 'display_author',
                 RHContributionAuthor)
_bp.add_url_rule('/contributions/<int:contrib_id>/contribution.pdf', 'export_pdf', RHContributionExportToPDF)
_bp.add_url_rule('/contributions/<int:contrib_id>/contribution.ics', 'export_ics', RHContributionExportToICAL)
_bp.add_url_rule('/contributions/<int:contrib_id>/subcontributions/<int:subcontrib_id>', 'display_subcontribution',
                 RHSubcontributionDisplay)

# Legacy URLs
_compat_bp = IndicoBlueprint('compat_contributions', __name__, url_prefix='/event/<event_id>')

with _compat_bp.add_prefixed_rules('/session/<legacy_session_id>'):
    _compat_bp.add_url_rule('/contribution/<legacy_contribution_id>', 'contribution',
                            partial(compat_contribution, 'display_contribution'))
    _compat_bp.add_url_rule('/contribution/<legacy_contribution_id>.ics', 'contribution_ics',
                            partial(compat_contribution, 'export_ics'))
    _compat_bp.add_url_rule('/contribution/<legacy_contribution_id>.pdf', 'contribution_pdf',
                            partial(compat_contribution, 'export_pdf'))
    _compat_bp.add_url_rule('/contribution/<legacy_contribution_id>/<legacy_subcontribution_id>',
                            'subcontribution', compat_subcontribution)

_compat_bp.add_url_rule('/my-conference/contributions', 'my_contributions',
                        make_compat_redirect_func(_bp, 'my_contributions', view_args_conv={'event_id': 'confId'}))

_compat_bp.add_url_rule('!/contributionDisplay.py', 'contribution_modpython',
                        make_compat_redirect_func(_compat_bp, 'contribution',
                                                  view_args_conv={'confId': 'event_id',
コード例 #5
0
ファイル: blueprint.py プロジェクト: innovexa/IDC-Events
                 methods=('GET', 'POST'))
_bp.add_url_rule('!/admin/users/merge/check/', 'users_merge_check',
                 RHUsersAdminMergeCheck)
_bp.add_url_rule('!/admin/users/registration-requests/',
                 'registration_request_list', RHRegistrationRequestList)
_bp.add_url_rule('!/admin/users/registration-requests/<int:request_id>/accept',
                 'accept_registration_request',
                 RHAcceptRegistrationRequest,
                 methods=('POST', ))
_bp.add_url_rule('!/admin/users/registration-requests/<int:request_id>/reject',
                 'reject_registration_request',
                 RHRejectRegistrationRequest,
                 methods=('POST', ))

# User profile
with _bp.add_prefixed_rules('/<int:user_id>'):
    _bp.add_url_rule('/dashboard/', 'user_dashboard', RHUserDashboard)
    _bp.add_url_rule('/suggestions/categories/<int:category_id>',
                     'user_suggestions_remove',
                     RHUserSuggestionsRemove,
                     methods=('DELETE', ))
    _bp.add_url_rule('/profile/',
                     'user_profile',
                     RHPersonalData,
                     methods=('GET', 'POST'))
    _bp.add_url_rule('/preferences/',
                     'user_preferences',
                     RHUserPreferences,
                     methods=('GET', 'POST'))
    _bp.add_url_rule('/favorites/', 'user_favorites', RHUserFavorites)
    _bp.add_url_rule('/favorites/users/',
コード例 #6
0
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Indico; if not, see <http://www.gnu.org/licenses/>.

from MaKaC.webinterface.rh import oauth as oauth_rh
from indico.web.flask.wrappers import IndicoBlueprint

oauth = IndicoBlueprint('oauth_old', __name__)

# Consumer endpoints
oauth.add_url_rule('/oauth/access_token',
                   'oauth-access_token',
                   oauth_rh.RHOAuthAccessTokenURL,
                   methods=('GET', 'POST'))
oauth.add_url_rule('/oauth/authorize',
                   'oauth-authorize',
                   oauth_rh.RHOAuthAuthorization,
                   methods=('GET', 'POST'))
oauth.add_url_rule('/oauth/request_token',
                   'oauth-request_token',
                   oauth_rh.RHOAuthRequestToken,
                   methods=('GET', 'POST'))

# User endpoints: App list and authorization
with oauth.add_prefixed_rules('/user-old/<userId>', '/user-old'):
    oauth.add_url_rule('/oauth/authorize', 'oauth-thirdPartyAuth',
                       oauth_rh.RHOAuthThirdPartyAuth)
    oauth.add_url_rule('/oauth/authorize_consumer', 'oauth-authorize_consumer',
                       oauth_rh.RHOAuthAuthorizeConsumer)
コード例 #7
0
ファイル: blueprint.py プロジェクト: mkopcic/indico

_bp.add_url_rule('/login/', 'login', RHLogin, methods=('GET', 'POST'))
_bp.add_url_rule('/login/<provider>/', 'login', RHLogin)
_bp.add_url_rule('/login/<provider>/form', 'login_form', RHLoginForm)
_bp.add_url_rule('/login/<provider>/link-account', 'link_account', RHLinkAccount, methods=('GET', 'POST'))
_bp.add_url_rule('/logout/', 'logout', RHLogout)

_bp.add_url_rule('/register/', 'register', RHRegister, methods=('GET', 'POST'), defaults={'provider': None})
_bp.add_url_rule('/register/<provider>', 'register', RHRegister, methods=('GET', 'POST'))

_bp.add_url_rule('/reset-password/', 'resetpass', RHResetPassword, methods=('GET', 'POST'))

_bp.add_url_rule('/admin/users/impersonate', 'admin_impersonate', RHAdminImpersonate, methods=('POST',))

with _bp.add_prefixed_rules('/user/<int:user_id>', '/user'):
    _bp.add_url_rule('/accounts/', 'accounts', RHAccounts, methods=('GET', 'POST'))
    _bp.add_url_rule('/accounts/<identity>/remove/', 'remove_account', RHRemoveAccount, methods=('POST',))


@_bp.url_defaults
def _add_user_id(endpoint, values):
    if endpoint in {'auth.accounts', 'auth.remove_account'} and 'user_id' not in values:
        values['user_id'] = request.view_args.get('user_id')


# Legacy URLs
auth_compat_blueprint = _compat_bp = IndicoBlueprint('compat_auth', __name__)
_compat_bp.add_url_rule('/user/login', 'login', make_compat_redirect_func(_bp, 'login'))
_compat_bp.add_url_rule('/user/register', 'register', make_compat_redirect_func(_bp, 'register'))
コード例 #8
0
ファイル: oauth.py プロジェクト: ferhatelmas/indico
##
## Indico is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
## published by the Free Software Foundation; either version 3 of the
## License, or (at your option) any later version.
##
## Indico is distributed in the hope that it will be useful, but
## WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
## General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with Indico. If not, see <http://www.gnu.org/licenses/>.

from MaKaC.webinterface.rh import oauth as oauth_rh
from indico.web.flask.wrappers import IndicoBlueprint


oauth = IndicoBlueprint('oauth', __name__)

# Consumer endpoints
oauth.add_url_rule('/oauth/access_token', 'oauth-access_token', oauth_rh.RHOAuthAccessTokenURL, methods=('GET', 'POST'))
oauth.add_url_rule('/oauth/authorize', 'oauth-authorize', oauth_rh.RHOAuthAuthorization, methods=('GET', 'POST'))
oauth.add_url_rule('/oauth/request_token', 'oauth-request_token', oauth_rh.RHOAuthRequestToken, methods=('GET', 'POST'))

# User endpoints: App list and authorization
with oauth.add_prefixed_rules('/user/<userId>', '/user'):
    oauth.add_url_rule('/oauth', 'oauth-userThirdPartyAuth', oauth_rh.RHOAuthUserThirdPartyAuth)
    oauth.add_url_rule('/oauth/authorize', 'oauth-thirdPartyAuth', oauth_rh.RHOAuthThirdPartyAuth)
    oauth.add_url_rule('/oauth/authorize_consumer', 'oauth-authorize_consumer', oauth_rh.RHOAuthAuthorizeConsumer)
コード例 #9
0
ファイル: blueprint.py プロジェクト: OmeGak/indico
# Admin
_bp.add_url_rule('!/admin/users/', 'users_admin', RHUsersAdmin, methods=('GET', 'POST'))
_bp.add_url_rule('!/admin/users/settings', 'users_admin_settings', RHUsersAdminSettings, methods=('GET', 'POST'))
_bp.add_url_rule('!/admin/users/create/', 'users_create', RHUsersAdminCreate, methods=('GET', 'POST'))
_bp.add_url_rule('!/admin/users/merge/', 'users_merge', RHUsersAdminMerge, methods=('GET', 'POST'))
_bp.add_url_rule('!/admin/users/merge/check/', 'users_merge_check', RHUsersAdminMergeCheck)
_bp.add_url_rule('!/admin/users/registration-requests/', 'registration_request_list', RHRegistrationRequestList)
_bp.add_url_rule('!/admin/users/registration-requests/<int:request_id>/accept', 'accept_registration_request',
                 RHAcceptRegistrationRequest, methods=('POST',))
_bp.add_url_rule('!/admin/users/registration-requests/<int:request_id>/reject', 'reject_registration_request',
                 RHRejectRegistrationRequest, methods=('POST',))


# User profile
with _bp.add_prefixed_rules('/<int:user_id>'):
    _bp.add_url_rule('/dashboard/', 'user_dashboard', RHUserDashboard)
    _bp.add_url_rule('/suggestions/categories/<category_id>', 'user_suggestions_remove', RHUserSuggestionsRemove,
                     methods=('DELETE',))
    _bp.add_url_rule('/profile/', 'user_profile', RHPersonalData, methods=('GET', 'POST'))
    _bp.add_url_rule('/preferences/', 'user_preferences', RHUserPreferences, methods=('GET', 'POST'))
    _bp.add_url_rule('/favorites/', 'user_favorites', RHUserFavorites)
    _bp.add_url_rule('/favorites/users/', 'user_favorites_users_add', RHUserFavoritesUsersAdd, methods=('POST',))
    _bp.add_url_rule('/favorites/users/<int:fav_user_id>', 'user_favorites_user_remove', RHUserFavoritesUserRemove,
                     methods=('DELETE',))
    _bp.add_url_rule('/favorites/categories/<int:category_id>', 'user_favorites_category_api',
                     RHUserFavoritesCategoryAPI, methods=('PUT', 'DELETE'))
    _bp.add_url_rule('/emails/', 'user_emails', RHUserEmails, methods=('GET', 'POST'))
    _bp.add_url_rule('/emails/verify/<token>', 'user_emails_verify', RHUserEmailsVerify)
    _bp.add_url_rule('/emails/<email>', 'user_emails_delete', RHUserEmailsDelete, methods=('DELETE',))
    _bp.add_url_rule('/emails/make-primary', 'user_emails_set_primary', RHUserEmailsSetPrimary, methods=('POST',))
コード例 #10
0
ファイル: user.py プロジェクト: jbenito3/indico
user = IndicoBlueprint('user', __name__, url_prefix='/user')

# Logout
user.add_url_rule('/logout', 'logOut', login.RHSignOut)

# Login
user.add_url_rule('/login', 'signIn', login.RHSignIn, methods=('GET', 'POST'))
user.add_url_rule('/login/sso', 'signIn-sso', login.RHSignInSSO, methods=('GET', 'POST'))
user.add_url_rule('/login/sso/<authId>', 'signIn-sso', login.RHSignInSSO, methods=('GET', 'POST'))
user.add_url_rule('/login/disabled', 'signIn-disabledAccount', login.RHDisabledAccount, methods=('GET', 'POST'))
user.add_url_rule('/login/not-activated', 'signIn-unactivatedAccount', login.RHUnactivatedAccount)

# Passwords
user.add_url_rule('/reset-password', 'signIn-sendLogin', login.RHSendLogin, methods=('POST',))
user.add_url_rule('/reset-password/<token>', 'signIn-resetPassword', login.RHResetPassword, methods=('GET', 'POST'))
with user.add_prefixed_rules('/<userId>'):
    user.add_url_rule('/account/change-password', 'identityCreation-changePassword', users.RHUserIdentityChangePassword,
                      methods=('GET', 'POST'))

# Registration
user.add_url_rule('/register/activate', 'signIn-active', login.RHActive)
user.add_url_rule('/register/send-activation', 'signIn-sendActivation', login.RHSendActivation, methods=('GET', 'POST'))
user.add_url_rule('/register', 'userRegistration', users.RHUserCreation, methods=('GET', 'POST'))
user.add_url_rule('/register/exists', 'userRegistration-UserExist', users.RHUserExistWithIdentity)
user.add_url_rule('/register/success', 'userRegistration-created', users.RHUserCreated, methods=('GET', 'POST'))

with user.add_prefixed_rules('/<userId>'):
    # Identities
    user.add_url_rule('/account/create-identity', 'identityCreation', users.RHUserIdentityCreation)
    user.add_url_rule('/account/create-identity', 'identityCreation-create', users.RHUserIdentityCreation,
                      methods=('POST',))
コード例 #11
0
ファイル: oauth.py プロジェクト: dbourillot/indico
# Copyright (C) 2002 - 2015 European Organization for Nuclear Research (CERN).
#
# Indico is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 3 of the
# License, or (at your option) any later version.
#
# Indico is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Indico; if not, see <http://www.gnu.org/licenses/>.

from MaKaC.webinterface.rh import oauth as oauth_rh
from indico.web.flask.wrappers import IndicoBlueprint


oauth = IndicoBlueprint('oauth_old', __name__)

# Consumer endpoints
oauth.add_url_rule('/oauth/access_token', 'oauth-access_token', oauth_rh.RHOAuthAccessTokenURL, methods=('GET', 'POST'))
oauth.add_url_rule('/oauth/authorize', 'oauth-authorize', oauth_rh.RHOAuthAuthorization, methods=('GET', 'POST'))
oauth.add_url_rule('/oauth/request_token', 'oauth-request_token', oauth_rh.RHOAuthRequestToken, methods=('GET', 'POST'))

# User endpoints: App list and authorization
with oauth.add_prefixed_rules('/user-old/<userId>', '/user-old'):
    oauth.add_url_rule('/oauth/authorize', 'oauth-thirdPartyAuth', oauth_rh.RHOAuthThirdPartyAuth)
    oauth.add_url_rule('/oauth/authorize_consumer', 'oauth-authorize_consumer', oauth_rh.RHOAuthAuthorizeConsumer)
コード例 #12
0
ファイル: user.py プロジェクト: pferreir/indico-backup
                  'signIn-disabledAccount',
                  login.RHDisabledAccount,
                  methods=('GET', 'POST'))
user.add_url_rule('/login/not-activated', 'signIn-unactivatedAccount',
                  login.RHUnactivatedAccount)

# Passwords
user.add_url_rule('/reset-password',
                  'signIn-sendLogin',
                  login.RHSendLogin,
                  methods=('POST', ))
user.add_url_rule('/reset-password/<token>',
                  'signIn-resetPassword',
                  login.RHResetPassword,
                  methods=('GET', 'POST'))
with user.add_prefixed_rules('/<userId>'):
    user.add_url_rule('/account/change-password',
                      'identityCreation-changePassword',
                      users.RHUserIdentityChangePassword,
                      methods=('GET', 'POST'))

# Registration
user.add_url_rule('/register/activate', 'signIn-active', login.RHActive)
user.add_url_rule('/register/send-activation',
                  'signIn-sendActivation',
                  login.RHSendActivation,
                  methods=('GET', 'POST'))
user.add_url_rule('/register',
                  'userRegistration',
                  users.RHUserCreation,
                  methods=('GET', 'POST'))
コード例 #13
0
ファイル: oauth.py プロジェクト: pferreir/indico-backup
##
## Indico is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
## published by the Free Software Foundation; either version 3 of the
## License, or (at your option) any later version.
##
## Indico is distributed in the hope that it will be useful, but
## WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
## General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with Indico. If not, see <http://www.gnu.org/licenses/>.

from MaKaC.webinterface.rh import oauth as oauth_rh
from indico.web.flask.wrappers import IndicoBlueprint


oauth = IndicoBlueprint('oauth', __name__)

# Consumer endpoints
oauth.add_url_rule('/oauth/access_token', 'oauth-access_token', oauth_rh.RHOAuthAccessTokenURL, methods=('GET', 'POST'))
oauth.add_url_rule('/oauth/authorize', 'oauth-authorize', oauth_rh.RHOAuthAuthorization, methods=('GET', 'POST'))
oauth.add_url_rule('/oauth/request_token', 'oauth-request_token', oauth_rh.RHOAuthRequestToken, methods=('GET', 'POST'))

# User endpoints: App list and authorization
with oauth.add_prefixed_rules('/user/<userId>', '/user'):
    oauth.add_url_rule('/oauth', 'oauth-userThirdPartyAuth', oauth_rh.RHOAuthUserThirdPartyAuth)
    oauth.add_url_rule('/oauth/authorize', 'oauth-thirdPartyAuth', oauth_rh.RHOAuthThirdPartyAuth)
    oauth.add_url_rule('/oauth/authorize_consumer', 'oauth-authorize_consumer', oauth_rh.RHOAuthAuthorizeConsumer)
コード例 #14
0
ファイル: blueprint.py プロジェクト: OmeGak/indico
)
from indico.web.flask.wrappers import IndicoBlueprint


_bp = IndicoBlueprint("oauth", __name__, template_folder="templates", virtual_template_folder="oauth")

# Application endpoints
_bp.add_url_rule("/oauth/authorize", "oauth_authorize", RHOAuthAuthorize, methods=("GET", "POST"))
_bp.add_url_rule("/oauth/errors", "oauth_errors", RHOAuthErrors)
_bp.add_url_rule("/oauth/token", "oauth_token", RHOAuthToken, methods=("POST",))

# Server administration
_bp.add_url_rule("/admin/apps/", "apps", RHOAuthAdmin)
_bp.add_url_rule("/admin/apps/new", "app_new", RHOAuthAdminApplicationNew, methods=("GET", "POST"))
_bp.add_url_rule("/admin/apps/<int:id>/", "app_details", RHOAuthAdminApplication, methods=("GET", "POST"))
_bp.add_url_rule("/admin/apps/<int:id>/delete", "app_delete", RHOAuthAdminApplicationDelete, methods=("POST",))
_bp.add_url_rule("/admin/apps/<int:id>/reset", "app_reset", RHOAuthAdminApplicationReset, methods=("POST",))
_bp.add_url_rule("/admin/apps/<int:id>/revoke", "app_revoke", RHOAuthAdminApplicationRevoke, methods=("POST",))

# User profile
with _bp.add_prefixed_rules("/user/<int:user_id>", "/user"):
    _bp.add_url_rule("/applications/", "user_profile", RHOAuthUserProfile)
    _bp.add_url_rule("/applications/<int:id>/revoke", "user_token_revoke", RHOAuthUserTokenRevoke, methods=("POST",))


@_bp.url_defaults
def _add_user_id(endpoint, values):
    if endpoint in {"oauth.user_profile", "oauth.user_token_revoke"} and "user_id" not in values:
        # Inject user id if it's present in the url
        values["user_id"] = request.view_args.get("user_id")