Пример #1
0
 def __init__(self, *args, **kwargs):
     linked_object = kwargs.pop('linked_object')
     self.event = getattr(linked_object, 'event',
                          None)  # not present in categories
     super().__init__(*args, **kwargs)
     self.folder.query = (AttachmentFolder.find(
         object=linked_object, is_default=False,
         is_deleted=False).order_by(db.func.lower(AttachmentFolder.title)))
Пример #2
0
def build_material_legacy_api_data(linked_object):
    # Skipping root folder and files in legacy API
    event = linked_object.getConference()
    try:
        cache = g.legacy_api_event_attachments[event]
    except (AttributeError, KeyError):
        if 'legacy_api_event_attachments' not in g:
            g.legacy_api_event_attachments = {}
        g.legacy_api_event_attachments[event] = cache = defaultdict(list)
        query = (AttachmentFolder.find(
            event_id=int(linked_object.getConference().id),
            is_deleted=False,
            is_default=False).options(
                joinedload(AttachmentFolder.legacy_mapping),
                joinedload(AttachmentFolder.attachments)))
        for folder in query:
            cache[folder.linked_object].append(folder)

    return filter(
        None, map(_build_folder_legacy_api_data, cache.get(linked_object, [])))
Пример #3
0
def _get_folders_protection_info(linked_object):
    folders = AttachmentFolder.find(object=linked_object, is_deleted=False)
    return {folder.id: folder.is_self_protected for folder in folders}
Пример #4
0
 def __init__(self, *args, **kwargs):
     linked_object = kwargs.pop('linked_object')
     super(AttachmentFormBase, self).__init__(*args, **kwargs)
     self.folder.query = (AttachmentFolder.find(
         object=linked_object, is_default=False,
         is_deleted=False).order_by(db.func.lower(AttachmentFolder.title)))
Пример #5
0
 def find_folders(self):
     return AttachmentFolder.find(event_id=int(self.event.id), is_deleted=False)