diff --git a/issue/forms.py b/issue/forms.py index 93f5bf7..59e8654 100644 --- a/issue/forms.py +++ b/issue/forms.py @@ -7,8 +7,8 @@ from django_markdown.widgets import MarkdownWidget from issue.models import * -AddProjectForm = modelform_factory(Project, fields=['display_name', 'name', 'description']) -EditProjectForm = modelform_factory(Project, fields=['display_name', 'description']) +AddProjectForm = modelform_factory(Project, fields=['display_name', 'name', 'description', 'public']) +EditProjectForm = modelform_factory(Project, fields=['display_name', 'description', 'public']) LabelForm = modelform_factory(Label, fields=['name', 'color', 'inverted']) class MilestoneForm(forms.ModelForm): diff --git a/issue/middleware.py b/issue/middleware.py index 6a5ec69..0f3c99c 100644 --- a/issue/middleware.py +++ b/issue/middleware.py @@ -8,5 +8,5 @@ class ProjectMiddleware: if view.__module__ != 'issue.views': return - projects = Project.objects.all() + projects = Project.objects.filter(public=True) request.projects = projects diff --git a/issue/migrations/0005_project_public.py b/issue/migrations/0005_project_public.py new file mode 100644 index 0000000..3992912 --- /dev/null +++ b/issue/migrations/0005_project_public.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('issue', '0004_milestone_closed'), + ] + + operations = [ + migrations.AddField( + model_name='project', + name='public', + field=models.BooleanField(default=True, verbose_name='Do unregistered users have read access to this project?'), + preserve_default=True, + ), + ] diff --git a/issue/models.py b/issue/models.py index 6bfd44c..2c9c2d3 100644 --- a/issue/models.py +++ b/issue/models.py @@ -29,6 +29,9 @@ class Project(models.Model): description = models.TextField(blank=True, default="", verbose_name="Description") + public = models.BooleanField(default=True, + verbose_name="Do unregistered users have read access to this project?") + def __str__(self): return self.display_name diff --git a/issue/views.py b/issue/views.py index e43825c..7ece54f 100644 --- a/issue/views.py +++ b/issue/views.py @@ -10,7 +10,7 @@ import shlex def project_list(request): - if not Project.objects.exists(): + if not request.projects.exists(): messages.info(request, 'Start by creating a project.')