def _design_allowed(self, design, context, meta_type): rules = self._restrictions_index.get(design.get_design_identifier()) if rules is None: return True user_role = IAuthorizationManager(context).get_user_role() for rule in rules: if meta_type is not None and meta_type != rule.content_type: continue if roleinfo.isEqualToOrGreaterThan(user_role, rule.role): continue return False return True
def list_page_model(self, context, meta_type): models = [] resolve = getUtility(IIntIds).getObject user_role = 'Manager' if context is not None: user_role = IAuthorizationManager(context).get_user_role() for identifier in self._page_models.values(): try: model = resolve(identifier) except KeyError: continue role = model.get_role() if (role is not None and not roleinfo.isEqualToOrGreaterThan(user_role, role)): continue if (meta_type is None and meta_type not in model.get_allowed_content_types()): continue models.append(model) return models