def form_valid(self, form): old_enabled_addons = get_enabled_addons(settings.SHOOP_ENABLED_ADDONS_FILE) new_enabled_addons = form.get_enabled_addons() changes = [] n_add = len(set(new_enabled_addons) - set(old_enabled_addons)) n_del = len(set(old_enabled_addons) - set(new_enabled_addons)) if n_add: changes.append(_("%d new addons enabled.") % n_add) if n_del: changes.append(_("%d previously enabled addons disabled.") % n_del) if changes: set_enabled_addons( settings.SHOOP_ENABLED_ADDONS_FILE, new_enabled_addons, comment="Written via Shoop admin (user %s; IP %s; time %s)" % ( self.request.user.pk, self.request.META.get("REMOTE_ADDR"), now().isoformat() ) ) messages.success(self.request, " ".join(changes)) return HttpResponseRedirect(self.request.path + "?reload=1") messages.info(self.request, _("No changes were made.")) return HttpResponseRedirect(self.request.path)
def _create_fields(self): enabled_addons = get_enabled_addons(settings.SHOOP_ENABLED_ADDONS_FILE) for addon in sorted(self.addons): self.fields[addon] = forms.BooleanField( required=False, initial=(addon in enabled_addons), label=_("Enable %s") % addon)
def _create_fields(self): enabled_addons = get_enabled_addons(settings.SHOOP_ENABLED_ADDONS_FILE) for addon in sorted(self.addons): self.fields[addon] = forms.BooleanField( required=False, initial=(addon in enabled_addons), label=_("Enable %s") % addon )
def finalize_installation_for_enabled_apps(): out = StringIO() enabled_addons = get_enabled_addons(settings.SHOOP_ENABLED_ADDONS_FILE) new_apps = [app for app in enabled_addons if app not in settings.INSTALLED_APPS] if new_apps: out.write("Enabling new addons: %s" % new_apps) settings.INSTALLED_APPS += type(settings.INSTALLED_APPS)(new_apps) reload_apps() call_command("migrate", "--noinput", stdout=out) call_command("collectstatic", "--noinput", stdout=out) return out.getvalue()
def finalize_installation_for_enabled_apps(): out = StringIO() enabled_addons = get_enabled_addons(settings.SHOOP_ENABLED_ADDONS_FILE) new_apps = [ app for app in enabled_addons if app not in settings.INSTALLED_APPS ] if new_apps: out.write("Enabling new addons: %s" % new_apps) settings.INSTALLED_APPS += type(settings.INSTALLED_APPS)(new_apps) reload_apps() call_command("migrate", "--noinput", stdout=out) call_command("collectstatic", "--noinput", stdout=out) return out.getvalue()
def form_valid(self, form): old_enabled_addons = get_enabled_addons( settings.SHOOP_ENABLED_ADDONS_FILE) new_enabled_addons = form.get_enabled_addons() changes = [] n_add = len(set(new_enabled_addons) - set(old_enabled_addons)) n_del = len(set(old_enabled_addons) - set(new_enabled_addons)) if n_add: changes.append(_("%d new addons enabled.") % n_add) if n_del: changes.append(_("%d previously enabled addons disabled.") % n_del) if changes: set_enabled_addons( settings.SHOOP_ENABLED_ADDONS_FILE, new_enabled_addons, comment="Written via Shoop admin (user %s; IP %s; time %s)" % (self.request.user.pk, self.request.META.get("REMOTE_ADDR"), now().isoformat())) messages.success(self.request, " ".join(changes)) return HttpResponseRedirect(self.request.path + "?reload=1") messages.info(self.request, _("No changes were made.")) return HttpResponseRedirect(self.request.path)