diff --git a/README.md b/README.md index a7ac3284..9735d3ef 100644 --- a/README.md +++ b/README.md @@ -72,3 +72,12 @@ INSTALLED_APPS += load_apps() ``` - **restart your server** + +*** + + +## How to run tests +- You Can run tests with the following command + ```sh + python manage.py test cartoview --with-coverage --cover-package=cartoview + ``` diff --git a/cartoview/app_manager/context_processors.py b/cartoview/app_manager/context_processors.py index 9b4c6b69..332739af 100644 --- a/cartoview/app_manager/context_processors.py +++ b/cartoview/app_manager/context_processors.py @@ -4,14 +4,19 @@ from builtins import * -from cartoview.app_manager.models import App, AppInstance -from cartoview.site_management.models import SiteLogo from django.conf import settings -from geonode.version import get_version -from cartoview import __version__ from django.contrib.sites.models import Site from django.shortcuts import get_object_or_404 from future import standard_library +from geonode.groups.models import Group +from geonode.maps.models import Layer, Map +from geonode.people.models import Profile +from geonode.version import get_version +from guardian.shortcuts import get_objects_for_user + +from cartoview import __version__ +from cartoview.app_manager.models import App, AppInstance +from cartoview.site_management.models import SiteLogo standard_library.install_aliases() @@ -21,11 +26,23 @@ def apps(request): def cartoview_processor(request): + permitted = get_objects_for_user(request.user, + 'base.view_resourcebase') + cartoview_counters = { + "apps": App.objects.count(), + "app_instances": AppInstance.objects.filter(id__in=permitted).count(), + "maps": Map.objects.filter(id__in=permitted).count(), + "layers": Layer.objects.filter(id__in=permitted).count(), + "users": Profile.objects.exclude(username="AnonymousUser").count(), + "groups": Group.objects.exclude(name="anonymous").count() + } + defaults = { 'apps': App.objects.all().order_by('order'), 'CARTOVIEW_VERSION': get_version(__version__), 'APPS_MENU': settings.APPS_MENU, 'apps_instance_count': AppInstance.objects.all().count(), + "cartoview_counters": cartoview_counters, 'instances': AppInstance.objects.all().order_by('app__order')[:5] } return defaults diff --git a/cartoview/settings.py b/cartoview/settings.py index a84e2b92..25621c0e 100644 --- a/cartoview/settings.py +++ b/cartoview/settings.py @@ -74,8 +74,6 @@ # NOTE:set cartoview_stand_alone environment var if you are not using cartoview_proect_template CARTOVIEW_STAND_ALONE = strtobool(os.getenv('CARTOVIEW_STAND_ALONE', 'FALSE')) if CARTOVIEW_STAND_ALONE: - from cartoview.app_manager.settings import load_apps - INSTALLED_APPS += load_apps() -if 'test' in sys.argv: + print("CARTOVIEW_STAND_ALONE={}".format(CARTOVIEW_STAND_ALONE)) from cartoview.app_manager.settings import load_apps INSTALLED_APPS += load_apps() diff --git a/cartoview/templates/site_index.html b/cartoview/templates/site_index.html index fad700f7..99c7f3b8 100644 --- a/cartoview/templates/site_index.html +++ b/cartoview/templates/site_index.html @@ -140,34 +140,34 @@