Esempio n. 1
0
 def _create_fields(self):
     enabled_addons = get_enabled_addons(settings.SHUUP_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)
Esempio n. 2
0
    def form_valid(self, form):
        old_enabled_addons = get_enabled_addons(settings.SHUUP_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.SHUUP_ENABLED_ADDONS_FILE,
                new_enabled_addons,
                comment="Written via Shuup 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)
Esempio n. 3
0
    def form_valid(self, form):
        old_enabled_addons = get_enabled_addons(settings.SHUUP_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.SHUUP_ENABLED_ADDONS_FILE,
                new_enabled_addons,
                comment="Written via Shuup 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)
Esempio n. 4
0
 def _create_fields(self):
     enabled_addons = get_enabled_addons(settings.SHUUP_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
         )
Esempio n. 5
0
def finalize_installation_for_enabled_apps():
    out = StringIO()
    enabled_addons = get_enabled_addons(settings.SHUUP_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()
Esempio n. 6
0
def finalize_installation_for_enabled_apps():
    out = StringIO()
    enabled_addons = get_enabled_addons(settings.SHUUP_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", "--no-color", stdout=out)
    call_command("collectstatic", "--noinput", "--no-color", stdout=out)
    return out.getvalue()