Пример #1
0
    def _create_modules_and_phases(self, project):
        module = module_models.Module(
            name='Onlinebeteiligung',
            description=project.description,
            weight=1,
            project=project,
        )
        module.save()
        signals.module_created.send(sender=None,
                                    module=module,
                                    user=self.request.user)

        self._create_module_settings(module)
        self._create_phases(module, self.blueprint.content)
Пример #2
0
    def post(self, request, *args, **kwargs):
        project = self.get_object()
        module = module_models.Module(
            name=self.blueprint.title,
            weight=len(project.modules) + 1,
            project=project,
        )
        module.save()
        signals.module_created.send(sender=None,
                                    module=module,
                                    user=self.request.user)

        self._create_module_settings(module)
        self._create_phases(module, self.blueprint.content)

        return HttpResponseRedirect(self.get_next(module))
Пример #3
0
    def save(self, commit=True):
        objects = super().save(commit=False)

        project = objects['project']
        project.organisation = self.organisation
        project.is_archived = False
        if commit:
            project.save()
            project.moderators.add(self.creator)

        module = module_models.Module(name=project.slug + '_module',
                                      weight=1,
                                      project=project)
        objects['module'] = module
        if commit:
            module.save()

        if 'module_settings' in objects.keys():
            module_settings = objects['module_settings']
            module_settings.module = module
            if commit:
                module_settings.save()

        phases = objects['phases']

        for index, phase in enumerate(phases):
            phase.module = module
            if commit:
                phase.save()
                if phase.type.startswith('euth_offlinephases'):
                    Offlinephase.objects.create(phase=phase)

        # calling flashpoll service create form
        if ([p for p in project.phases
             if p.type.startswith('euth_flashpoll')]):
            services.send_to_flashpoll(self.data, project)

        if self.show_categories_form:
            categories = objects['categories']
            for category in categories:
                category.module = module
                if commit:
                    category.save()

        return objects
Пример #4
0
    def post(self, request, *args, **kwargs):
        project = self.get_object()
        weight = 1
        if project.modules:
            weight = max(project.modules.values_list('weight', flat=True)) + 1
        module = module_models.Module(
            name=self.blueprint.title,
            weight=weight,
            project=project,
            is_draft=True,
        )
        module.save()
        signals.module_created.send(sender=None,
                                    module=module,
                                    user=self.request.user)

        self._create_module_settings(module)
        self._create_phases(module, self.blueprint.content)
        messages.success(self.request, self.success_message)

        return HttpResponseRedirect(self.get_next(module))