Example #1
0
    def create_blog_post(self, title='We make it work', slug=None, language='nl', user=None, status='published',
                        published_date=now()):
        post = BlogPostProxy()

        if not slug:
            slug = generate_random_slug()
            # Ensure generated slug is unique.
            while BlogPostProxy.objects.filter(slug=slug).exists():
                slug = generate_random_slug()

        if not user:
            user = self.create_user()
            user.save()

        post.title = title
        post.status = status
        post.published_date = published_date
        post.language = language
        post.title = title
        post.slug = slug
        post.author = user
        post.save()

        # The contents needs to be created separately.
        ph = Placeholder.objects.create_for_object(post, 'blog_contents')
        ph.save()

        return post
Example #2
0
    def create_task(self, owner=None, project=None, title='', description='', status='open'):
        """
        Create a 'default' task with some standard values but allow for overrides.
        The returned object is saved to the database.
        """

        if not owner:
            # Create a new user with a random username
            owner = self.create_user()

        if not project:
            # Create a new project
            owner = self.create_project()

        if not title:
            title = generate_random_slug()

        if not description:
            title = generate_random_slug()

        task = Task(
            owner=owner, title=title, status=status, project=project
        )

        task.save()

        return task
Example #3
0
    def create_organization(self, slug=None):
        """
        Create a 'default' organization with some standard values so it can be
        saved to the database, but allow for overriding.

        The returned object is not yet saved to the database.
        """
        if not slug:
            slug = generate_random_slug()
            while Organization.objects.filter(slug=slug).exists():
                slug = generate_random_slug()

        organization = Organization(slug=slug)
        organization.save()
        return organization
Example #4
0
    def create_fundraiser(self, owner, project, title=None, amount=5000, deadline=None):
        if not title:
            title = generate_random_slug()
        if deadline is None:
            deadline = timezone.now() + timezone.timedelta(days=28)

        fr = FundRaiser.objects.create(owner=owner, project=project, title=title, amount=amount, deadline=deadline)
        return fr
    def create_project(self, organization=None, owner=None, title=None, phase='pitch', slug=None, money_asked=0):
        """
        Create a 'default' project with some standard values so it can be
        saved to the database, but allow for overriding.

        The returned object is saved to the database.
        """
        if not owner:
            # Create a new user with a random username
            owner = self.create_user()

        if not slug:
            slug = generate_random_slug()
            while Project.objects.filter(slug=slug).exists():
                slug = generate_random_slug()

        if not title:
            title = generate_random_slug()
            while Project.objects.filter(title=title).exists():
                title = generate_random_slug()

        project = Project(owner=owner, title=title, slug=slug, phase=phase)
        project.save()

        project.projectpitch.title = title
        project.projectpitch.status = ProjectPitch.PitchStatuses.new
        project.projectpitch.save()

        if money_asked:

            project.projectplan = ProjectPlan(title=project.title, project=project)
            project.projectplan.status = 'approved'

            # add an organization so we can create pay-outs
            project.projectplan.organization = self.create_organization()
            project.projectplan.save()

            project.projectcampaign = ProjectCampaign(status='running', project=project, money_asked=money_asked)
            project.projectcampaign.save()
            project.projectcampaign.update_money_donated()

            project.phase = ProjectPhases.campaign
            project.save()

        return project