Before saving, if slide is for a publication, use publication info
        for slide's title, subtitle, description.

def save(self, *args, **kwargs):
        """
        Before saving, if slide is for a publication, use publication info
        for slide's title, subtitle, description.
        """
        if self.publication:
            publication = self.publication

            if not self.title:
                self.title = publication.title

            if not self.subtitle:
                first_author = publication.first_author

                if first_author == publication.last_author:
                    authors = first_author
                else:
                    authors = '{} et al.'.format(first_author)

                self.subtitle = '{}, {} ({})'.format(authors,
                    publication.journal, publication.year)

            if not self.description:
                self.description = publication.abstract

            if self.publication.year and not self.pk:
                delta = timezone.now() - self.publish_datetime

                if self.publish_datetime <= timezone.now() and delta.days == 0:
                    self.publish_datetime = datetime.datetime(
                        year=int(self.publication.year),
                        month=int(self.publication.month or 1),
                        day=int(self.publication.day or 1),
                    )

        super().save(*args, **kwargs)