Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion art/reminders.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ def send_art_reminders(event=None, context=None):
"""Cron diario: avisa seg煤n los d铆as configurados para cada checkpoint incompleto."""
today = timezone.localdate()
sent = 0
programs = ArtProgram.objects.select_related('event').filter(is_current=True, event__active=True)
programs = ArtProgram.objects.select_related('event').filter(is_current=True)
if isinstance(event, Event):
programs = programs.filter(event=event)
for program in programs:
Expand Down
17 changes: 17 additions & 0 deletions art/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -1319,6 +1319,23 @@ def test_program_closings_cannot_come_before_their_openings(self):
program.clean()
self.assertEqual(set(raised.exception.message_dict), {closes for _, closes in ArtProgram.DATE_PAIRS})

def test_current_program_works_before_its_event_is_active(self):
self.open_registration()
self.event.active = False
self.event.save(update_fields=['active'])
self.client.force_login(self.owner)
dashboard = self.client.get(reverse('art_dashboard'))
self.assertContains(dashboard, reverse('artwork_create', args=[self.event.slug]))
self.assertNotContains(dashboard, 'Todav铆a no hay una convocatoria de Arte activa.')
response = self.client.post(reverse('artwork_create', args=[self.event.slug]), {'title': 'Faro'})
artwork = Artwork.objects.get(owner=self.owner)
self.assertRedirects(response, reverse('artwork_edit', args=[artwork.pk]))

self.program.is_current = False
self.program.save(update_fields=['is_current'])
self.assertContains(self.client.get(reverse('art_dashboard')), 'Todav铆a no hay una convocatoria de Arte activa.')
self.assertEqual(self.client.get(reverse('artwork_create', args=[self.event.slug])).status_code, 404)

def test_dashboard_says_when_registration_opens(self):
self.client.force_login(self.owner)
self.assertContains(self.client.get(reverse('art_dashboard')), 'La inscripci贸n de propuestas de Arte cerr贸.')
Expand Down
4 changes: 2 additions & 2 deletions art/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -469,7 +469,8 @@ def _names_sentence(names):

@login_required
def art_dashboard(request):
programs = ArtProgram.objects.select_related('event').filter(is_current=True, event__active=True)
# La convocatoria abre meses antes de que el evento se active para vender bonos: alcanza con que est茅 vigente.
programs = ArtProgram.objects.select_related('event').filter(is_current=True)
artworks = (
Artwork.objects.filter(
Q(owner=request.user) | Q(collaborators=request.user) | Q(operations_group__miembros__user=request.user),
Expand All @@ -495,7 +496,6 @@ def artwork_create(request, event_slug):
program = get_object_or_404(
ArtProgram.objects.select_related('event'),
event__slug=event_slug,
event__active=True,
is_current=True,
)
if not program.registration_is_open():
Expand Down
Loading