No date for perpetual projects
This commit is contained in:
parent
f49ff0fd0e
commit
dbbfa79f10
@ -33,7 +33,8 @@ class AccessTestCase(TestCase):
|
||||
for details in cls.PROJECTS:
|
||||
when = details.pop('when', 0)
|
||||
ensemble = details.pop('ensemble')
|
||||
obj = cls.ensembles[ensemble].projects.create(event_date=now+timedelta(days=when), **details)
|
||||
details['event_date'] = now + timedelta(days=when) if when else None
|
||||
obj = cls.ensembles[ensemble].projects.create(**details)
|
||||
cls.projects[details['name']] = obj
|
||||
|
||||
return
|
||||
|
||||
@ -23,19 +23,20 @@ class InterfaceAccessTestCase(AccessTestCase):
|
||||
{'name': 'Navy Recruitment Day', 'ensemble': 'party-posse', 'when': 6},
|
||||
{'name': 'Barbershop Contest', 'ensemble': 'be-sharps', 'when': 28},
|
||||
{'name': 'Open Mic Night', 'ensemble': 'bleeding-gums', 'when': 1 },
|
||||
{'name': 'Current Repertoire', 'ensemble': 'be-sharps'},
|
||||
)
|
||||
|
||||
def test_bad_login(self):
|
||||
with self.assertRaisesMessage(self.failureException, 'Failed to login as admin'):
|
||||
self.login('admin', 'admin')
|
||||
|
||||
def test_admin_ensembles(self):
|
||||
def test_superuser_ensembles(self):
|
||||
self.login('admin', 'secret')
|
||||
response = self.client.get('/ensembles')
|
||||
self.assertObjectList(response, ['The Be Sharps', 'Lisa & the Bleeding Gums', 'Party Posse'])
|
||||
self.assertContains(response, 'Django Admin')
|
||||
|
||||
def test_admin_ensemble_permissions(self):
|
||||
def test_superuser_ensemble_permissions(self):
|
||||
self.login('admin', 'secret')
|
||||
response = self.client.get('/ensembles/party-posse')
|
||||
self.assertTrue(response.context['request'].is_admin)
|
||||
@ -48,10 +49,10 @@ class InterfaceAccessTestCase(AccessTestCase):
|
||||
'/ensembles/be-sharps/new-project': True,
|
||||
})
|
||||
|
||||
def test_admin_projects(self):
|
||||
def test_superuser_projects(self):
|
||||
self.login('admin', 'secret')
|
||||
response = self.client.get('/projects')
|
||||
self.assertObjectList(response, ['Open Mic Night', 'Navy Recruitment Day', 'Barbershop Contest'])
|
||||
self.assertObjectList(response, ['Current Repertoire', 'Open Mic Night', 'Navy Recruitment Day', 'Barbershop Contest'])
|
||||
|
||||
self.assertObjectList(self.client.get('/ensembles/bleeding-gums'), ['Open Mic Night'])
|
||||
self.assertObjectList(self.client.get('/ensembles/bleeding-gums?inactive'), ['Open Mic Night', 'Baker St'])
|
||||
@ -94,7 +95,7 @@ class InterfaceAccessTestCase(AccessTestCase):
|
||||
def test_user_projects(self):
|
||||
self.login('homer', 'maggie')
|
||||
response = self.client.get('/projects')
|
||||
self.assertObjectList(response, ['Barbershop Contest'])
|
||||
self.assertObjectList(response, ['Current Repertoire', 'Barbershop Contest'])
|
||||
response = self.client.get('/projects/3')
|
||||
self.assertTrue(response.context['request'].is_admin)
|
||||
|
||||
@ -110,7 +111,7 @@ class InterfaceAccessTestCase(AccessTestCase):
|
||||
|
||||
self.authorize(models.Project, pk=4)
|
||||
response = self.client.get('/projects')
|
||||
self.assertObjectList(response, ['Open Mic Night', 'Barbershop Contest'])
|
||||
self.assertObjectList(response, ['Current Repertoire', 'Open Mic Night', 'Barbershop Contest'])
|
||||
response = self.client.get('/projects/4')
|
||||
self.assertFalse(response.context['request'].is_admin)
|
||||
|
||||
|
||||
@ -260,7 +260,8 @@ class ProjectListView(ProjectMixin, ListView):
|
||||
|
||||
def get_queryset(self):
|
||||
qs = self.get_project_queryset()
|
||||
return qs.filter(active=True, event_date__gte=timezone.now()-timezone.timedelta(7))
|
||||
f = Q(event_date__gte=(timezone.now()-timezone.timedelta(7))) | Q(event_date=None)
|
||||
return qs.filter(f, active=True)
|
||||
|
||||
class ProjectCreateView(EnsembleMixin, CreateView):
|
||||
admin_required = True
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user