Example #1
0
    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()))
Example #2
0
    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()))
Example #3
0
 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)
Example #4
0
 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)
Example #5
0
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
Example #6
0
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
Example #7
0
 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
Example #8
0
 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
Example #9
0
 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())
Example #10
0
 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)
Example #11
0
    def __call__(self):
        if not ICountry.providedBy(self.context):
            return None

        self.update()
        if len(self.countries) < 2:
            return None
        else:
            return self.index()
Example #12
0
    def __call__(self):
        if not ICountry.providedBy(self.context):
            return None

        self.update()
        if len(self.countries) < 2:
            return None
        else:
            return self.index()
Example #13
0
 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)
Example #14
0
 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())
Example #15
0
 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())
Example #16
0
 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
Example #17
0
 def test_country_statistics(self):
     sectors = self.portal["sectors"]
     for country in sectors.values():
         if not ICountry.providedBy(country):
             continue
         self.__test(country)
Example #18
0
 def get_current_country(self):
     for obj in aq_chain(aq_inner(self.context)):
         if ICountry.providedBy(obj):
             return obj
Example #19
0
    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()
Example #20
0
    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()