_bp = IndicoBlueprint('attachments', __name__, template_folder='templates', virtual_template_folder='attachments') @memoize def _dispatch(event_rh, category_rh): event_view = make_view_func(event_rh) categ_view = make_view_func(category_rh) def view_func(**kwargs): return categ_view(**kwargs) if kwargs['object_type'] == 'category' else event_view(**kwargs) return view_func # Management items = itertools.chain(event_management_object_url_prefixes.iteritems(), [('category', ['/manage'])]) for object_type, prefixes in items: for prefix in prefixes: if object_type == 'category': prefix = '/category/<int:category_id>' + prefix else: prefix = '/event/<int:confId>' + prefix _bp.add_url_rule(prefix + '/attachments/', 'management', _dispatch(RHManageEventAttachments, RHManageCategoryAttachments), defaults={'object_type': object_type}) _bp.add_url_rule(prefix + '/attachments/info-column', 'management_info_column', RHAttachmentManagementInfoColumn, defaults={'object_type': object_type}) _bp.add_url_rule(prefix + '/attachments/add/files', 'upload', _dispatch(RHAddEventAttachmentFiles, RHAddCategoryAttachmentFiles), methods=('GET', 'POST'), defaults={'object_type': object_type})
_bp = IndicoBlueprint('attachments', __name__, template_folder='templates', virtual_template_folder='attachments') @memoize def _dispatch(event_rh, category_rh): event_view = make_view_func(event_rh) categ_view = make_view_func(category_rh) def view_func(**kwargs): return categ_view(**kwargs) if kwargs['object_type'] == 'category' else event_view(**kwargs) return view_func # Management items = itertools.chain(event_management_object_url_prefixes.iteritems(), [('category', ['/manage'])]) for object_type, prefixes in items: for prefix in prefixes: if object_type == 'category': prefix = '/category/<categId>' + prefix else: prefix = '/event/<confId>' + prefix _bp.add_url_rule(prefix + '/attachments/', 'management', _dispatch(RHManageEventAttachments, RHManageCategoryAttachments), defaults={'object_type': object_type}) _bp.add_url_rule(prefix + '/attachments/add/files', 'upload', _dispatch(RHAddEventAttachmentFiles, RHAddCategoryAttachmentFiles), methods=('GET', 'POST'), defaults={'object_type': object_type}) _bp.add_url_rule(prefix + '/attachments/add/link', 'add_link', _dispatch(RHAddEventAttachmentLink, RHAddCategoryAttachmentLink), methods=('GET', 'POST'), defaults={'object_type': object_type})
from __future__ import unicode_literals from indico.modules.events import event_management_object_url_prefixes from indico.modules.events.management.controllers import RHDeleteEvent, RHLockEvent, RHUnlockEvent, RHShowNonInheriting from indico.web.flask.wrappers import IndicoBlueprint _bp = IndicoBlueprint( "event_management", __name__, template_folder="templates", virtual_template_folder="events/management", url_prefix="/event/<confId>/manage", ) _bp.add_url_rule("/delete", "delete", RHDeleteEvent, methods=("GET", "POST")) _bp.add_url_rule("/lock", "lock", RHLockEvent, methods=("GET", "POST")) _bp.add_url_rule("/unlock", "unlock", RHUnlockEvent, methods=("POST",)) for object_type, prefixes in event_management_object_url_prefixes.iteritems(): if object_type == "subcontribution": continue for prefix in prefixes: prefix = "!/event/<confId>" + prefix _bp.add_url_rule( prefix + "/show-non-inheriting", "show_non_inheriting", RHShowNonInheriting, defaults={"object_type": object_type}, )
program_codes.RHAssignProgramCodesSessions, methods=('GET', 'POST')) _bp.add_url_rule('/program-codes/assign/session-blocks', 'assign_program_codes_session_blocks', program_codes.RHAssignProgramCodesSessionBlocks, methods=('GET', 'POST')) _bp.add_url_rule('/program-codes/assign/contributions', 'assign_program_codes_contributions', program_codes.RHAssignProgramCodesContributions, methods=('GET', 'POST')) _bp.add_url_rule('/program-codes/assign/subcontributions', 'assign_program_codes_subcontributions', program_codes.RHAssignProgramCodesSubContributions, methods=('GET', 'POST')) for object_type, prefixes in event_management_object_url_prefixes.iteritems(): if object_type == 'subcontribution': continue for prefix in prefixes: prefix = '!/event/<confId>' + prefix _bp.add_url_rule(prefix + '/show-non-inheriting', 'show_non_inheriting', protection.RHShowNonInheriting, defaults={'object_type': object_type}) _compat_bp = IndicoBlueprint('compat_event_management', __name__, url_prefix='/event/<confId>/manage') _compat_bp.add_url_rule('/general/', 'settings', make_compat_redirect_func(_bp, 'settings'))
@memoize def _dispatch(event_rh, category_rh): event_view = make_view_func(event_rh) categ_view = make_view_func(category_rh) def view_func(**kwargs): return categ_view( **kwargs) if kwargs['object_type'] == 'category' else event_view( **kwargs) return view_func # Management items = itertools.chain(event_management_object_url_prefixes.iteritems(), [('category', ['/manage'])]) for object_type, prefixes in items: for prefix in prefixes: if object_type == 'category': prefix = '/category/<categId>' + prefix else: prefix = '/event/<confId>' + prefix _bp.add_url_rule(prefix + '/attachments/', 'management', _dispatch(RHManageEventAttachments, RHManageCategoryAttachments), defaults={'object_type': object_type}) _bp.add_url_rule(prefix + '/attachments/add/files', 'upload', _dispatch(RHAddEventAttachmentFiles,