Exemplo n.º 1
0
_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})
Exemplo n.º 2
0
_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})
Exemplo n.º 3
0
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},
        )
Exemplo n.º 4
0
                 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'))
Exemplo n.º 5
0
@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,