def generate_address_label(self):
        if self.organisation_name:
            self.address_label.append(self.organisation_name)
        if self.department_name:
            self.address_label.append(self.department_name)
        if self.po_box_number:
            self.address_label.append('PO Box ' + self.po_box_number)
        elements = [
                self.sub_building_name,
                self.building_name,
                self.building_number,
                self.dependent_thoroughfare,
                self.thoroughfare,
                self.double_dependent_locality,
                self.dependent_locality,
        ]
        for element in elements:
            if element:
                self._append_to_label(element)
        if len(self.address_label) < 7:
            for i in range(7 - len(self.address_label)):
                self.address_label.append('')
        self.address_label[5] = self.post_town
        return ", ".join([f for f in self.address_label if f])