def course_module(self): if self.request.has_permission('perm:Edit', self.context): jqueryui.need() touchpunch_js.need() response = {} response['course'] = find_interface(self.context, ICourse) response['course_modules'] = response['course'].items() response['in_course'] = self.fikaProfile.in_course(response['course']) response['course_module_toggle'] = self._render_course_module_toggle response['course_pagination'] = render_course_pagination response['module_segments'] = self.context.values() response['is_assessment'] = {} for segment in self.context.values(): response['is_assessment'][segment.__name__] = isinstance(segment, Assessment) if isinstance(segment, ImageSlideshow): lightbox_js.need() lightbox_css.need() break for segmentcontent in segment.values(): if isinstance(segmentcontent, ImageSlideshow): lightbox_js.need() lightbox_css.need() break response['addable_types'] = {} factories = get_content_factories(self.request.registry) for (obj, addable) in get_addable_content(self.request.registry).items(): if 'Segment' in addable: factory = factories.get(obj, None) response['addable_types'][obj] = getattr(factory, 'icon', 'file') return response
def content_types_panel(context, request, va, **kw): response = { 'content_factories': get_content_factories(request.registry), 'addable_content': get_addable_content(request.registry), 'content_views': get_content_views(request.registry), 'content_schemas': get_content_schemas(request.registry), 'workflows': get_workflows(request.registry), 'acl_iface': IContextACL, 'local_roles_iface': ILocalRoles, } return render('arche:templates/sysinfo/content_types.pt', response, request = request)
def addable_content(self, context): _marker = object() context_type = getattr(context, 'type_name', None) factories = get_content_factories(self.request.registry) for (name, addable) in get_addable_content(self.request.registry).items(): if context_type in addable: factory = factories.get(name, None) if factory is not None: add_perm = getattr(factory, 'add_permission', _marker) if self.request.has_permission(add_perm, context): yield factory
def can_paste(context, request, view): paste_data = request.session.get('__paste_data__') if not paste_data: return False if context.uid == paste_data['uid']: return False if paste_data['move'] == True: path = resource_path(context) if view.catalog_search(path=path, uid=paste_data['uid']): return False cut_obj = view.resolve_uid(paste_data['uid']) addable = get_addable_content(request.registry).get(cut_obj.type_name, ()) if context.type_name not in addable: return False return request.has_permission(cut_obj.add_permission, context)
def can_paste(context, request, view): paste_data = request.session.get('__paste_data__') if not paste_data: return False if context.uid == paste_data['uid']: return False if paste_data['move'] == True: path = resource_path(context) if view.catalog_search(path = path, uid = paste_data['uid']): return False cut_obj = view.resolve_uid(paste_data['uid']) addable = get_addable_content(request.registry).get(cut_obj.type_name, ()) if context.type_name not in addable: return False return request.has_permission(cut_obj.add_permission, context)
def can_paste(context, request, view): paste_data = request.session.get('__paste_data__') if not paste_data: return False if context.uid == paste_data['uid']: return False cut_obj = view.resolve_uid(paste_data['uid']) if not cut_obj: return False if paste_data['move'] == True: if context == cut_obj.__parent__: return False addable = get_addable_content(request.registry).get(cut_obj.type_name, ()) if context.type_name not in addable: return False return request.has_permission(cut_obj.add_permission, context)