Add MemberDate and MemberContact models to schema
This commit is contained in:
		
							parent
							
								
									a15b6eace2
								
							
						
					
					
						commit
						9ae1a04cad
					
				
					 1 changed files with 63 additions and 0 deletions
				
			
		| 
						 | 
					@ -495,6 +495,20 @@ class MemberInfo(Base):
 | 
				
			||||||
        List of :class:`Customer` instances which are associated with this member info.
 | 
					        List of :class:`Customer` instances which are associated with this member info.
 | 
				
			||||||
        """)
 | 
					        """)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dates = orm.relationship(
 | 
				
			||||||
 | 
					        'MemberDate',
 | 
				
			||||||
 | 
					        primaryjoin='MemberDate.card_number == MemberInfo.card_number',
 | 
				
			||||||
 | 
					        foreign_keys='MemberDate.card_number',
 | 
				
			||||||
 | 
					        cascade='all, delete-orphan',
 | 
				
			||||||
 | 
					        doc="""
 | 
				
			||||||
 | 
					        List of date records for the member.
 | 
				
			||||||
 | 
					        """,
 | 
				
			||||||
 | 
					        backref=orm.backref(
 | 
				
			||||||
 | 
					            'member',
 | 
				
			||||||
 | 
					            doc="""
 | 
				
			||||||
 | 
					            Reference to the member to whom the date record applies.
 | 
				
			||||||
 | 
					            """))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @property
 | 
					    @property
 | 
				
			||||||
    def full_name(self):
 | 
					    def full_name(self):
 | 
				
			||||||
        return '{} {}'.format(self.first_name or '', self.last_name or '').strip()
 | 
					        return '{} {}'.format(self.first_name or '', self.last_name or '').strip()
 | 
				
			||||||
| 
						 | 
					@ -503,6 +517,55 @@ class MemberInfo(Base):
 | 
				
			||||||
        return self.full_name
 | 
					        return self.full_name
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@six.python_2_unicode_compatible
 | 
				
			||||||
 | 
					class MemberDate(Base):
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    Join/exit dates for members
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    __tablename__ = 'memDates'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    card_number = sa.Column('card_no', sa.Integer(), primary_key=True, autoincrement=False, nullable=False)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    start_date = sa.Column(sa.DateTime(), nullable=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    end_date = sa.Column(sa.DateTime(), nullable=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def __str__(self):
 | 
				
			||||||
 | 
					        return "{} thru {}".format(
 | 
				
			||||||
 | 
					            self.start_date.date() if self.start_date else "??",
 | 
				
			||||||
 | 
					            self.end_date.date() if self.end_date else "??")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@six.python_2_unicode_compatible
 | 
				
			||||||
 | 
					class MemberContact(Base):
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    Contact preferences for members
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    __tablename__ = 'memContact'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    card_number = sa.Column('card_no', sa.Integer(), primary_key=True, autoincrement=False, nullable=False)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    preference = sa.Column('pref', sa.Integer(), nullable=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    member = orm.relationship(
 | 
				
			||||||
 | 
					        MemberInfo,
 | 
				
			||||||
 | 
					        primaryjoin=MemberInfo.card_number == card_number,
 | 
				
			||||||
 | 
					        foreign_keys=[MemberInfo.card_number],
 | 
				
			||||||
 | 
					        uselist=False,
 | 
				
			||||||
 | 
					        doc="""
 | 
				
			||||||
 | 
					        Reference to the member to whom the contact record applies.
 | 
				
			||||||
 | 
					        """,
 | 
				
			||||||
 | 
					        backref=orm.backref(
 | 
				
			||||||
 | 
					            'contact',
 | 
				
			||||||
 | 
					            uselist=False,
 | 
				
			||||||
 | 
					            doc="""
 | 
				
			||||||
 | 
					            Reference to contact preference record for the member.
 | 
				
			||||||
 | 
					            """))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def __str__(self):
 | 
				
			||||||
 | 
					        return str(self.preference)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@six.python_2_unicode_compatible
 | 
					@six.python_2_unicode_compatible
 | 
				
			||||||
class HouseCoupon(Base):
 | 
					class HouseCoupon(Base):
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue