docs: def save(self, updateBy=None, *args, **kwargs):
          '''
          Verify that the user and staffMember are populated with linked information, and
          ensure that the name is properly specified.
          '''
  
          if (
              self.staffMember and self.staffMember.userAccount and not self.user
          ) or (
              isinstance(updateBy,StaffMember) and self.staffMember.userAccount
          ):
              self.user = self.staffMember.userAccount
          elif (
              self.user and getattr(self.user,'staffmember',None) and not self.staffMember
          ) or (
              isinstance(updateBy,User) and getattr(self.user,'staffmember',None)
          ):
              self.staffMember = self.user.staffmember
  
          # Don't replace the name if it has been given, but do fill it out if it is blank.
          if not self.name:
              if self.user and self.user.get_full_name():
                  self.name = self.user.get_full_name()
              elif self.staffMember:
                  self.name = self.staffMember.fullName or self.staffMember.privateEmail
              elif self.location:
                  self.name = self.location.name
  
          super(TransactionParty, self).save(*args, **kwargs)