methods=('GET', 'POST'), defaults={'object_type': object_type}) _bp.add_url_rule(prefix + '/attachments/create-folder', 'create_folder', _dispatch(RHCreateEventFolder, RHCreateCategoryFolder), methods=('GET', 'POST'), defaults={'object_type': object_type}) _bp.add_url_rule(prefix + '/attachments/<int:folder_id>/', 'edit_folder', _dispatch(RHEditEventFolder, RHEditCategoryFolder), methods=('GET', 'POST'), defaults={'object_type': object_type}) _bp.add_url_rule(prefix + '/attachments/<int:folder_id>/', 'delete_folder', _dispatch(RHDeleteEventFolder, RHDeleteCategoryFolder), methods=('DELETE',), defaults={'object_type': object_type}) _bp.add_url_rule(prefix + '/attachments/<int:folder_id>/<int:attachment_id>/', 'delete_attachment', _dispatch(RHDeleteEventAttachment, RHDeleteCategoryAttachment), methods=('DELETE',), defaults={'object_type': object_type}) # Display/download items = itertools.chain(event_object_url_prefixes.iteritems(), [('category', [''])]) for object_type, prefixes in items: for prefix in prefixes: if object_type == 'category': prefix = '/category/<category_id>' + prefix else: prefix = '/event/<confId>' + prefix _bp.add_url_rule(prefix + '/attachments/<int:folder_id>/<int:attachment_id>/<filename>', 'download', _dispatch(RHDownloadEventAttachment, RHDownloadCategoryAttachment), defaults={'object_type': object_type}) # attachments folders cannot be consulted in categories if object_type != 'category': _bp.add_url_rule(prefix + '/attachments/<int:folder_id>/', 'list_folder', RHListEventAttachmentFolder, defaults={'object_type': object_type})
from indico.modules.events.notes.controllers import RHCompileNotes, RHEditNote, RHDeleteNote, RHViewNote from indico.web.flask.wrappers import IndicoBlueprint _bp = IndicoBlueprint('event_notes', __name__, template_folder='templates', virtual_template_folder='events/notes', url_prefix='/event/<confId>') _bp.add_url_rule('/note/compile', 'compile', RHCompileNotes, methods=('GET', 'POST'), defaults={'object_type': 'event'}) for object_type, prefixes in event_object_url_prefixes.iteritems(): for prefix in prefixes: _bp.add_url_rule(prefix + '/note/', 'view', RHViewNote, defaults={'object_type': object_type}) _bp.add_url_rule(prefix + '/note/edit', 'edit', RHEditNote, methods=('GET', 'POST'), defaults={'object_type': object_type}) _bp.add_url_rule(prefix + '/note/delete', 'delete', RHDeleteNote, methods=('POST', ), defaults={'object_type': object_type})
# 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 __future__ import unicode_literals from indico.modules.events import event_object_url_prefixes from indico.modules.events.notes.controllers import RHCompileNotes, RHEditNote, RHDeleteNote, RHViewNote from indico.web.flask.wrappers import IndicoBlueprint _bp = IndicoBlueprint('event_notes', __name__, template_folder='templates', virtual_template_folder='events/notes', url_prefix='/event/<confId>') _bp.add_url_rule('/note/compile', 'compile', RHCompileNotes, methods=('GET', 'POST'), defaults={'object_type': 'event'}) for object_type, prefixes in event_object_url_prefixes.iteritems(): for prefix in prefixes: _bp.add_url_rule(prefix + '/note/', 'view', RHViewNote, defaults={'object_type': object_type}) _bp.add_url_rule(prefix + '/note/edit', 'edit', RHEditNote, methods=('GET', 'POST'), defaults={'object_type': object_type}) _bp.add_url_rule(prefix + '/note/delete', 'delete', RHDeleteNote, methods=('POST',), defaults={'object_type': object_type})
methods=('GET', 'POST'), defaults={'object_type': object_type}) _bp.add_url_rule(prefix + '/attachments/create-folder', 'create_folder', _dispatch(RHCreateEventFolder, RHCreateCategoryFolder), methods=('GET', 'POST'), defaults={'object_type': object_type}) _bp.add_url_rule(prefix + '/attachments/<int:folder_id>/', 'edit_folder', _dispatch(RHEditEventFolder, RHEditCategoryFolder), methods=('GET', 'POST'), defaults={'object_type': object_type}) _bp.add_url_rule(prefix + '/attachments/<int:folder_id>/', 'delete_folder', _dispatch(RHDeleteEventFolder, RHDeleteCategoryFolder), methods=('DELETE',), defaults={'object_type': object_type}) _bp.add_url_rule(prefix + '/attachments/<int:folder_id>/<int:attachment_id>/', 'delete_attachment', _dispatch(RHDeleteEventAttachment, RHDeleteCategoryAttachment), methods=('DELETE',), defaults={'object_type': object_type}) # Display/download items = itertools.chain(event_object_url_prefixes.iteritems(), [('category', [''])]) 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/<int:folder_id>/<int:attachment_id>/<filename>', 'download', _dispatch(RHDownloadEventAttachment, RHDownloadCategoryAttachment), defaults={'object_type': object_type}) # attachments folders cannot be consulted in categories if object_type != 'category': _bp.add_url_rule(prefix + '/attachments/<int:folder_id>/', 'list_folder', RHListEventAttachmentFolder, defaults={'object_type': object_type})
defaults={'object_type': object_type}) _bp.add_url_rule(prefix + '/attachments/<int:folder_id>/', 'delete_folder', _dispatch(RHDeleteEventFolder, RHDeleteCategoryFolder), methods=('DELETE', ), defaults={'object_type': object_type}) _bp.add_url_rule( prefix + '/attachments/<int:folder_id>/<int:attachment_id>/', 'delete_attachment', _dispatch(RHDeleteEventAttachment, RHDeleteCategoryAttachment), methods=('DELETE', ), defaults={'object_type': object_type}) # Display/download items = itertools.chain(event_object_url_prefixes.iteritems(), [('category', [''])]) 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/<int:folder_id>/<int:attachment_id>/<filename>', 'download', _dispatch(RHDownloadEventAttachment, RHDownloadCategoryAttachment), defaults={'object_type': object_type}) # attachments folders cannot be consulted in categories