def __call__(self, context): countries = {} if ISectorContainer.providedBy(context): for country in context.values(): if not ICountry.providedBy(country): continue countries.update({ utils.getRegionTitle(context.REQUEST, country.id, country.title).encode('utf-8'): country.id }) elif ICountry.providedBy(context): countries.update({ utils.getRegionTitle(context.REQUEST, context.id, context.title).encode('utf-8'): context.id }) elif ISector.providedBy(context) or ISurveyGroup.providedBy(context): if ISector.providedBy(context): country = aq_parent(context) elif ISurveyGroup.providedBy(context): country = aq_parent(aq_parent(context)) if ICountry.providedBy(country): countries.update({ utils.getRegionTitle(context.REQUEST, country.id, country.title).encode('utf-8'): country.id }) return SimpleVocabulary.fromItems(sorted(countries.items()))
def __call__(self, context): countries = {} if ISectorContainer.providedBy(context): for country in context.values(): if not ICountry.providedBy(country): continue countries.update({ utils.getRegionTitle(context.REQUEST, country.id, country.title).encode('utf-8'): country.id }) elif ICountry.providedBy(context): countries.update({ utils.getRegionTitle( context.REQUEST, context.id, context.title).encode('utf-8'): context.id }) elif ISector.providedBy(context) or ISurveyGroup.providedBy(context): if ISector.providedBy(context): country = aq_parent(context) elif ISurveyGroup.providedBy(context): country = aq_parent(aq_parent(context)) if ICountry.providedBy(country): countries.update({ utils.getRegionTitle( context.REQUEST, country.id, country.title).encode('utf-8'): country.id }) return SimpleVocabulary.fromItems(sorted(countries.items()))
def __call__(self, context): tools = [] if ISectorContainer.providedBy(context): for country in context.values(): if not ICountry.providedBy(country): continue tools += self.getToolsInCountry(country) elif ICountry.providedBy(context): tools += self.getToolsInCountry(context) elif ISector.providedBy(context): tools += self.getToolsInSector(context) elif ISurveyGroup.providedBy(context): tools += self.getToolsInSector(aq_parent(context)) return SimpleVocabulary.fromValues(tools)
def summarizeCountries(container, request, current_country=None, permission=None): from euphorie.content.country import ICountry result = {} for country in container.values(): if not ICountry.providedBy(country): continue if permission and not checkPermission(country, permission): continue country_type = getattr(country, "country_type", "country") if country_type != "region": country_type = "country" countries = result.setdefault(country_type, []) countries.append( { "id": country.id, "title": getRegionTitle(request, country.id, country.title), "url": country.absolute_url(), "current": (current_country == country.id), } ) for ct in result.values(): ct.sort(key=lambda c: c["title"]) return result
def summarizeCountries(container, request, current_country=None, permission=None): from euphorie.content.country import ICountry result = {} for country in container.values(): if not ICountry.providedBy(country): continue if permission and not checkPermission(country, permission): continue country_type = getattr(country, "country_type", "country") if country_type != "region": country_type = "country" countries = result.setdefault(country_type, []) countries.append({ "id": country.id, "title": getRegionTitle(request, country.id, country.title), "url": country.absolute_url(), "current": (current_country == country.id), }) for ct in result.values(): ct.sort(key=lambda c: c["title"]) return result
def __call__(self, context): tools = [] site = api.portal.get() for country in site["sectors"].values(): if not ICountry.providedBy(country): continue tools += self.getToolVersionsInCountry(country) return tools
def __call__(self, context): tools = [] site = api.portal.get() for country in site['sectors'].values(): if not ICountry.providedBy(country): continue tools += self.getToolVersionsInCountry(country) return tools
def __call__(self, context): t = lambda txt: translate(txt, context=api.portal.get().REQUEST) types = {t(_("OiRA Tool")).encode("utf-8"): "tool"} if ISectorContainer.providedBy(context): types.update({t(_("EU-OSHA Overview")).encode("utf-8"): "overview", t(_("Country")): "country"}) elif ICountry.providedBy(context): types.update({t(_("Country")).encode("utf-8"): "country"}) return SimpleVocabulary.fromItems(types.items())
def test_sector_statistics(self): sectors = self.portal['sectors'] for country in sectors.values(): if not ICountry.providedBy(country): continue for sector in country.values(): if not ISector.providedBy(country): continue self.__test(sector)
def __call__(self): if not ICountry.providedBy(self.context): return None self.update() if len(self.countries) < 2: return None else: return self.index()
def __call__(self, context): t = lambda txt: translate(txt, context=api.portal.get().REQUEST) types = {t(_('Survey')).encode('utf-8'): 'tool'} if ISectorContainer.providedBy(context): types.update({ t(_('EU-OSHA Overview')).encode('utf-8'): 'overview', t(_('Country')): 'country' }) elif ICountry.providedBy(context): types.update({t(_('Country')).encode('utf-8'): 'country'}) return SimpleVocabulary.fromItems(types.items())
def __call__(self, context): t = lambda txt: translate(txt, context=api.portal.get().REQUEST) types = {t(_('OiRA Tool')).encode('utf-8'): 'tool'} if ISectorContainer.providedBy(context): types.update({ t(_('EU-OSHA Overview')).encode('utf-8'): 'overview', t(_('Country')): 'country' }) elif ICountry.providedBy(context): types.update({t(_('Country')).encode('utf-8'): 'country'}) return SimpleVocabulary.fromItems(types.items())
def updateWidgets(self): super(EditForm, self).updateWidgets() if not api.portal.get_registry_record( "euphorie.use_integrated_action_plan", default=False): self.widgets["integrated_action_plan"].mode = HIDDEN_MODE if not api.portal.get_registry_record("euphorie.use_training_module", default=False): self.widgets["enable_web_training"].mode = HIDDEN_MODE self.widgets["num_training_questions"].mode = HIDDEN_MODE else: for obj in aq_chain(aq_inner(self.context)): if ICountry.providedBy(obj): if not obj.enable_web_training: self.widgets["enable_web_training"].mode = HIDDEN_MODE self.widgets[ "num_training_questions"].mode = HIDDEN_MODE break for fname in ("introduction", ): value = self.widgets[fname].value or "" safe_value = self.get_safe_html(value) if value != safe_value: self.widgets[fname].value = safe_value
def test_country_statistics(self): sectors = self.portal["sectors"] for country in sectors.values(): if not ICountry.providedBy(country): continue self.__test(country)
def get_current_country(self): for obj in aq_chain(aq_inner(self.context)): if ICountry.providedBy(obj): return obj
def update(self): context = aq_inner(self.context) portal = getPortal(context) currentUrl = self.request.getURL()[len(portal.absolute_url()):] user = getSecurityManager().getUser() if IMembraneUser.providedBy(user): mt = getToolByName(self.context, "membrane_tool") user_object = mt.getUserObject(user_id=user.getUserId()) else: user_object = None for (test, id) in self.current_map: if test.match(currentUrl): current = id break else: current = None results = [{ "id": "sectors", "title": _("nav_surveys", default=u"OiRA Tools"), "url": portal.sectors.absolute_url(), "class": "current" if current == "sectors" else None }] if checkPermission(portal, "Manage portal"): for country in aq_chain(context): if ICountry.providedBy(country): url = "%s/@@manage-users" % country.absolute_url() break else: countries = sorted(portal.sectors.keys()) url = "%s/@@manage-users" % \ portal.sectors[countries[0]].absolute_url() results.append({ "id": "usermgmt", "title": _("nav_usermanagement", default=u"User management"), "url": url, "class": "current" if current == "usermgmt" else None }) results.append({ "id": "documents", "title": _("nav_documents", default=u"Documents"), "url": portal.documents.absolute_url(), "class": "current" if current == "documents" else None }) elif ICountryManager.providedBy(user_object): country = aq_parent(user_object) results.append({ "id": "usermgmt", "title": _("nav_usermanagement", default=u"User management"), "url": "%s/@@manage-users" % country.absolute_url(), "class": "current" if current == "usermgmt" else None }) if user_object is not None: country = aq_parent(user_object) results.append({ "id": "help", "title": _("nav_help", default=u"Help"), "url": "%s/help" % country.absolute_url(), "class": "current" if current == "help" else None }) self.tabs = results self.home_url = portal.absolute_url()
def update(self): context = aq_inner(self.context) portal = getPortal(context) currentUrl = self.request.getURL()[len(portal.absolute_url()):] user = getSecurityManager().getUser() if IMembraneUser.providedBy(user): mt = getToolByName(self.context, "membrane_tool") user_object = mt.getUserObject(user_id=user.getUserId()) else: user_object = None for (test, id) in self.current_map: if test.match(currentUrl): current = id break else: current = None results = [{"id": "sectors", "title": _("nav_surveys", default=u"OiRA Tools"), "url": portal.sectors.absolute_url(), "class": "current" if current == "sectors" else None}] if checkPermission(portal, "Manage portal"): for country in aq_chain(context): if ICountry.providedBy(country): url = "%s/@@manage-users" % country.absolute_url() break else: countries = sorted(portal.sectors.keys()) url = "%s/@@manage-users" % \ portal.sectors[countries[0]].absolute_url() results.append({"id": "usermgmt", "title": _("nav_usermanagement", default=u"User management"), "url": url, "class": "current" if current == "usermgmt" else None}) results.append({"id": "documents", "title": _("nav_documents", default=u"Documents"), "url": portal.documents.absolute_url(), "class": "current" if current == "documents" else None}) elif ICountryManager.providedBy(user_object): country = aq_parent(user_object) results.append({"id": "usermgmt", "title": _("nav_usermanagement", default=u"User management"), "url": "%s/@@manage-users" % country.absolute_url(), "class": "current" if current == "usermgmt" else None}) if user_object is not None: country = aq_parent(user_object) results.append({"id": "help", "title": _("nav_help", default=u"Help"), "url": "%s/help" % country.absolute_url(), "class": "current" if current == "help" else None}) self.tabs = results self.home_url = portal.absolute_url()