def vms(request, current_provider=None): if not request.user.is_authenticated(): return go_home(request) provider_keys = sorted(Provider.get_available_provider_keys()) providers = [] for provider_key in provider_keys: try: provider = Provider.objects.get(id=provider_key) except ObjectDoesNotExist: providers.append((provider_key, True)) else: providers.append((provider_key, provider.is_working)) if current_provider is None and providers: return redirect("vms_at_provider", current_provider=provider_keys[0]) return render(request, 'appliances/vms/index.html', locals())
def vms(request, current_provider=None): if not request.user.is_authenticated(): return go_home(request) provider_keys = sorted(Provider.get_available_provider_keys()) providers = [] for provider_key in provider_keys: try: provider = Provider.objects.get(id=provider_key) except ObjectDoesNotExist: providers.append((provider_key, True)) else: providers.append((provider_key, provider.working)) if current_provider is None and providers: return redirect("vms_at_provider", current_provider=provider_keys[0]) return render(request, 'appliances/vms/index.html', locals())
def vms(request, current_provider=None): if not request.user.is_authenticated() or not request.user.is_superuser: return go_home(request) all_provider_keys = sorted(Provider.get_available_provider_keys()) providers = [] provider_keys = [] if request.user.is_staff or request.user.is_superuser: user_filter = {} else: user_filter = {'user_groups__in': request.user.groups.all()} for provider_key in all_provider_keys: try: provider = Provider.objects.filter(id=provider_key, **user_filter).distinct().first() except ObjectDoesNotExist: continue if provider is not None: providers.append((provider_key, provider.is_working)) provider_keys.append(provider_key) if current_provider is None and providers: return redirect("vms_at_provider", current_provider=provider_keys[0]) return render(request, 'appliances/vms/index.html', locals())
def vms(request, current_provider=None): if not request.user.is_authenticated or not request.user.is_superuser: return go_home(request) all_provider_keys = sorted(Provider.get_available_provider_keys()) providers = [] provider_keys = [] if request.user.is_staff or request.user.is_superuser: user_filter = {} else: user_filter = {'user_groups__in': request.user.groups.all()} for provider_key in all_provider_keys: try: provider = Provider.objects.filter(id=provider_key, **user_filter).distinct().first() except ObjectDoesNotExist: continue if provider is not None: providers.append((provider_key, provider.is_working)) provider_keys.append(provider_key) if current_provider is None and providers: return redirect("appliances:vms_at_provider", current_provider=provider_keys[0]) return render(request, 'appliances/vms/index.html', locals())