"""Vendor related models.""" from sqlalchemy import ( Column, Date, DateTime, Enum, Float, Integer, Numeric, SmallInteger, String, Text) from sqlalchemy.sql import text from manualadjustment.connectors import mysql class Vendor(mysql.ArtRelationsBaseModel): """Model for the vendor table.""" __tablename__ = 'vendor' vendor_id = Column(Integer, primary_key=True) is_distributor = Column( Enum('N', 'Y'), nullable=False, index=True, server_default=text("'N'")) name = Column(String(100)) company = Column(String(100)) newsletter = Column(Enum('Y', 'N'), server_default=text("'Y'")) login = Column(String(60), index=True) old_passwords = Column(String(255)) bademail = Column(Enum('Y', 'N'), server_default=text("'N'")) last_update = Column(DateTime) passwords = Column(String(255)) is_login_null = Column(Enum('yes', 'no'), server_default=text("'no'")) referral = Column(String(50)) join_vendor_id = Column(Integer) owner = Column(String(10), index=True, server_default=text("'orchard'")) priority = Column(Integer, server_default=text("'3'")) region = Column(SmallInteger) primary_genre = Column(SmallInteger) est_total_releases = Column(Integer) est_total_tracks = Column(Integer) date_created = Column(Date) overall_priority = Column(Float) assigned_to = Column(Integer, index=True) status = Column( Enum('pitched', 'pending', 'verbal', 'signed', 'passed', 'inactive', 'deletion', 'waiting_for_approval', 'approved'), index=True, server_default=text("'signed'")) website = Column(String(255)) ca_rep = Column(Integer) tax_form_received = Column(Enum('Y', 'N'), server_default=text("'N'")) w8_tax_form_date = Column(Date) date_signed = Column(Date) payment_type = Column( Enum('check', 'wire', 'travelex', 'sony_ach', 'sony_eft'), server_default=text("'check'")) wire_info = Column(String) wel_email_sender = Column(Integer) wel_email_send_date = Column(DateTime) label_summary = Column(Text) myspace_url = Column(String(255)) additional_id = Column(Integer, index=True) monthly_accounting = Column(Enum('Y', 'N'), server_default=text("'N'")) original_owner = Column(Enum('DRA', 'DMGI')) show_release_builder = Column(Enum('Y', 'N'), server_default=text("'Y'")) recurring_payment_threshold = Column(Numeric(18, 6)) encrypted_tin = Column(String(255)) checks = Column(String(255)) tax_name = Column(String(255)) tax_id_type = Column( Enum('corporation', 'individual', 'other', 'w9_individual', 'w9_c_corporation', 'w9_s_corporation', 'w9_partnership', 'w9_trust_estate', 'w9_llc', 'w8_corporation', 'w8_disregarded_entity', 'w8_partnership', 'w8_simple_trust', 'w8_grantor_trust', 'w8_complex_trust', 'w8_estate', 'w8_government', 'w8_central_bank_of_issue', 'w8_tax_exempt_organization', 'w8_private_foundation', 'w8_international_organization', 'w8_individual')) tax_id_country = Column(SmallInteger) encrypted_foreign_tin = Column(String(255)) country = Column(SmallInteger) number_format = Column(Enum('us', 'europe'), server_default=text("'us'")) language = Column(Enum('en', 'es', 'fr'), server_default=text("'en'")) token = Column(String(20)) allow_orchard_credit = Column( Enum('N', 'Y'), nullable=False, server_default=text("'N'")) api_vendor_id = Column(Integer) contact_email = Column(String(255)) label_identifier = Column( Enum('Frontline', 'Client Services', 'Catalog', 'D3', 'Film', 'TV', 'Test')) is_owned = Column(Enum('Yes', 'No'), server_default=text("'No'")) support_contact_email = Column(String(255)) last_modified_by = Column(Integer) sap_vendor_id = Column(String(20))