Exemple #1
0
    def test_listing_many(self):
        """Visit different listing pages"""
        self.assignPerm(P.READ_NORMAL, self.getSpecies())

        for key in getModelsMetadata(cmodels.SpeciesComponent).keys():
            with self.assertTemplateUsed("cyano/list.html"):
                self.assertOK(reverse("cyano.views.listing", kwargs=dict(species_wid=SPECIES, model_type=key)))
Exemple #2
0
def process(request):
    if request.is_ajax():
        return {}

    data = {
        'request': request,
        'email': "*****@*****.**",
        'modelmetadatas': getModelsMetadata(cmodels.SpeciesComponent)
    }

    if not request.user.is_authenticated():
        # Special handling for guests
        user = User.objects.get(username="******")
    else:
        user = request.user

    data['species_list'] = cmodels.Species.objects.for_permission(cmodels.PermissionEnum.READ_NORMAL, user.profile)

    class GlobalPermHelper(list):
        def __init__(self, *args, **kwargs):
            super(GlobalPermHelper, self).__init__(*args, **kwargs)

        def any_of_cyanomaps(self):
            return any(x in ["access_boehringer", "access_kegg", "access_sbgn"] for x in self)

        def any_of_tools(self):
            return self.any_of_cyanomaps() or "access_cyanodesign" in self


    data['global_permissions'] = GlobalPermHelper(user.profile.get_global_perms().values_list("codename", flat=True))

    return data
    def test_listing_many(self):
        """Visit different listing pages"""
        self.assignPerm(P.READ_NORMAL, self.getSpecies())

        for key in getModelsMetadata(cmodels.SpeciesComponent).keys():
            with self.assertTemplateUsed("cyano/list.html"):
                self.assertOK(
                    reverse("cyano:listing",
                            kwargs=dict(species_wid=SPECIES, model_type=key)))