def handle_regeneration(self, event): regenerate_css.apply_async(args=(event.pk,)) self.stdout.write( self.style.SUCCESS( f"[{event.slug}] Event style was successfully regenerated." ) )
def form_valid(self, form): new_event = not bool(form.instance.pk) if not new_event: if not self.sform.is_valid(): return self.form_invalid(form) ret = super().form_valid(form) if new_event: messages.success( self.request, _('Yay, a new event! Check these settings and configure a CfP and you\'re good to go!' )) form.instance.log_action('pretalx.event.create', person=self.request.user, orga=True) EventPermission.objects.create( event=form.instance, user=self.request.user, is_orga=True, ) else: self.sform.save() form.instance.log_action('pretalx.event.update', person=self.request.user, orga=True) messages.success(self.request, _('The event settings have been saved.')) regenerate_css.apply_async(args=(form.instance.pk, )) return ret
def form_valid(self, form): if not self.sform.is_valid(): return self.form_invalid(form) result = super().form_valid(form) self.sform.save() form.instance.log_action('pretalx.event.update', person=self.request.user, orga=True) messages.success(self.request, _('The event settings have been saved.')) regenerate_css.apply_async(args=(form.instance.pk,)) return result
def ready(self): from pretalx.event.models import Event from pretalx.common.tasks import regenerate_css from django.db import connection, utils if Event._meta.db_table not in connection.introspection.table_names(): # commands like `compilemessages` execute ready(), but do not # require a database to be present. Bail out early, if the Event # table has not been created yet. return try: for event in Event.objects.all(): regenerate_css.apply_async(args=(event.pk, )) except (utils.OperationalError, utils.ProgrammingError): pass
def handle(self, *args, **options): event = options.get('event') if event: try: event = Event.objects.get(slug__iexact=event) except Event.DoesNotExist: self.stdout.write(self.style.ERROR('This event does not exist.')) return regenerate_css.apply_async(args=(event.pk, )) self.stdout.write(self.style.SUCCESS(f'[{event.slug}] Event style was successfully regenerated.')) else: for es in Event_SettingsStore.objects.filter(key='agenda_css_file').order_by('-object__date_from'): event = Event.objects.get(pk=es.object_id) regenerate_css.apply_async(args=(event.pk, )) self.stdout.write(self.style.SUCCESS(f'[{event.slug}] Event style was successfully regenerated.'))