def get_context_data(self, **kwargs): context = super().get_context_data() context["mdm"] = True mbu = context["object"] context["dep_profile_list"] = (DEPProfile.objects.select_related("virtual_server") .filter(enrollment_secret__meta_business_unit=mbu) .order_by("name", "pk")) context["ota_enrollment_list"] = (OTAEnrollment.objects.filter(enrollment_secret__meta_business_unit=mbu) .order_by("name", "pk")) context["kext_policy_list"] = (KernelExtensionPolicy.objects.filter(meta_business_unit=mbu, trashed_at__isnull=True) .order_by("pk")) context["enrollment_package_list"] = (MDMEnrollmentPackage.objects.filter(meta_business_unit=mbu, trashed_at__isnull=True) .order_by("builder", "pk")) existing_enrollment_package_builders = [ep.builder for ep in context["enrollment_package_list"]] create_enrollment_package_url = reverse("mdm:create_enrollment_package", args=(mbu.pk,)) context["create_enrollment_package_links"] = [("{}?builder={}".format(create_enrollment_package_url, k), v.name) for k, v in get_standalone_package_builders().items() if k not in existing_enrollment_package_builders] context["configuration_profile_list"] = (ConfigurationProfile.objects.filter(meta_business_unit=mbu, trashed_at__isnull=True) .order_by("payload_description", "pk")) return context
def dispatch(self, request, *args, **kwargs): standalone_builders = get_standalone_package_builders() self.meta_business_unit = get_object_or_404(MetaBusinessUnit, pk=kwargs["pk"]) try: self.builder_key = request.GET["builder"] self.builder = standalone_builders[self.builder_key] except KeyError: raise Http404 try: # test if an active mep exists. protect ourselves if there is a bug and many exist! mep = MDMEnrollmentPackage.objects.filter( meta_business_unit=self.meta_business_unit, builder=self.builder_key, trashed_at__isnull=True)[0] except IndexError: pass else: # prevent the creation of a second enrollment package with the same builder # if an active enrollment package exists messages.error( request, "An active enrollment package for this business unit and this service already exists." ) return HttpResponseRedirect(mep.get_absolute_url()) return super().dispatch(request, *args, **kwargs)
def dispatch(self, request, *args, **kwargs): self.simplemdm_instance = get_object_or_404(SimpleMDMInstance, pk=kwargs["pk"]) standalone_builders = get_standalone_package_builders() try: self.builder_key = request.GET["builder"] self.builder = standalone_builders[self.builder_key] except KeyError: raise Http404 return super().dispatch(request, *args, **kwargs)
def get_context_data(self, **kwargs): ctx = super().get_context_data(**kwargs) ctx["setup"] = True ctx["title"] = "{} SimpleMDM instance".format(self.object.account_name) ctx["apps"] = list(self.object.simplemdmapp_set.all()) ctx["app_number"] = len(ctx["apps"]) create_simplemdm_app_path = reverse("simplemdm:create_simplemdm_app", args=(self.object.id,)) ctx["create_app_links"] = [("{}?builder={}".format(create_simplemdm_app_path, k), v.name) for k, v in get_standalone_package_builders().items()] return ctx
def get_builder_class(self): return get_standalone_package_builders()[self.builder]
def get_builder_class(self): from zentral.utils.osx_package import get_standalone_package_builders return get_standalone_package_builders()[self.builder]