code: def save(self, *args, **kwargs):
          
          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)
docs: Before saving, if slide is for a publication, use publication info
          for slide's title, subtitle, description.