Beispiel #1
0
class ProjectRegions(db.Model):
    """
    this creates the project regions model
    """

    __tablename__ = "ProjectRegions"

    id = db.Column(db.String(20), primary_key=True)
    projectId = db.Column(db.String(20), db.ForeignKey("Project.id"))
    region = db.Column(db.String(100), nullable=False)

    def __init__(self, id, projectId, region):
        """initializing inputs for this model"""
        self.id = id
        self.projectId = projectId
        self.region = region
Beispiel #2
0
class ProjectNumber(db.Model):
    """
    create project number or job number
    """

    __tablename__ = "ProjectNumber"

    id = db.Column(db.String(20), primary_key=True)
    projectNumber = db.Column(db.Integer, nullable=False)
    companyId = db.Column(db.String(20), db.ForeignKey("Company.id"))

    def __init__(self, id, projectNumber, companyId):
        """initializing inputs for this model"""
        self.id = id
        self.projectNumber = projectNumber
        self.companyId = companyId
Beispiel #3
0
class User(db.Model):
    """
    this creates the system users model
    """

    __tablename__ = "Users"

    id = db.Column(db.String(20), primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)
    email = db.Column(db.String(120), index=True, unique=True, nullable=False)
    password = db.Column(db.String(128), nullable=False)
    companyId = db.Column(db.String(20), db.ForeignKey("Company.id"))
    role = db.Column(db.String(25), nullable=False)
    isActive = db.Column(db.String(25), default="False", nullable=False)

    def __init__(self, id, username, email, password, role, companyId,
                 isActive):
        """initilize user db values"""
        self.id = id
        self.username = username
        self.email = email
        self.password = self.hash_password(password)
        self.companyId = companyId
        self.role = role
        self.isActive = isActive

    def hash_password(self, password):
        """create a password hash for storage"""
        password_hash = generate_password_hash(str(password))
        return password_hash

    def compare_password(hashed_password, password):
        """compare a plain password with its stored hash"""
        return check_password_hash(hashed_password, str(password))
Beispiel #4
0
class Employees(db.Model):
    """this  creates the employees model"""

    __tablename__ = "Employees"

    id = db.Column(db.String(20), primary_key=True)
    companyId = db.Column(db.String(20), db.ForeignKey("Company.id"))
    fullname = db.Column(db.String(120), nullable=True)
    # mobile = db.Column(db.String(12), nullable=False, unique=True)
    email = db.Column(db.String(120), unique=True)

    def __init__(self, id, companyId, fullname, email):
        """initilizing employees model table items"""
        self.id = id
        self.companyId = companyId
        self.fullname = fullname
        # self.mobile = mobile
        self.email = email
Beispiel #5
0
class Company(db.Model):
    """
    this creates the company model
    """

    __tablename__ = "Company"

    id = db.Column(db.String(20), primary_key=True)
    company = db.Column(db.String(64), index=True, unique=True)
    joined_at = db.Column(db.DateTime(), default=datetime.utcnow)

    def __init__(self, id, company, joined_at):
        """
        initializing company db values
        """
        self.id = id
        self.company = company
        self.joined_at = joined_at
Beispiel #6
0
class Transactions(db.Model):
    """
    this creates the  transactions model
    """

    __tablename__ = "Transactions"

    id = db.Column(db.String(20), primary_key=True)
    employeeId = db.Column(db.String(20), db.ForeignKey("Employees.id"))
    narration = db.Column(db.String(255))
    authorizedBy = db.Column(db.String(20), db.ForeignKey("Employees.id"))
    date = db.Column(db.Date)
    amount = db.Column(db.Float)

    def __init__(self, id, employeeId, narration, authorizedby, date, amount):
        """initializing objects for transactions model"""
        self.id = id,
        self.employeeId = employeeId,
        self.narration = narration,
        self.authorizedBy = authorizedby,
        self.date = date,
        self.amount = amount
Beispiel #7
0
class Project(db.Model):
    """
    this creates the project model
    """

    __tablename__ = "Project"

    id = db.Column(db.String(20), primary_key=True)
    project_name = db.Column(db.String(100), nullable=False, unique=True)
    projectNumber = db.Column(db.Integer)
    companyId = db.Column(db.String(20), db.ForeignKey("Company.id"))
    date_from = db.Column(db.Date)
    project_status = db.Column(db.String(10), nullable=False)

    def __init__(self, id, project_name, projectNumber, companyId, date_from,
                 project_status):
        """initializing inputs for this model"""
        self.id = id
        self.project_name = project_name
        self.projectNumber = projectNumber
        self.companyId = companyId
        self.date_from = date_from
        self.project_status = project_status
Beispiel #8
0
class DetailedFile(db.Model):
    """
    this creates the  detailedFile model
    """

    __tablename__ = "DetailedFile"

    id = db.Column(db.String(20), primary_key=True)
    wages = db.Column(db.Float)
    perDiem = db.Column(db.Float)
    telephoneCosts = db.Column(db.Float)
    fieldTravelExpenses = db.Column(db.Float)
    administrativeSupport = db.Column(db.Float)
    accomodationAllowance = db.Column(db.Float)
    consultants = db.Column(db.Float)
    professionalCosts = db.Column(db.Float)
    printingAndStationery = db.Column(db.Float)
    covid19PPEs = db.Column(db.Float)
    venueHire = db.Column(db.Float)
    refreshments = db.Column(db.Float)
    transcription = db.Column(db.Float)
    incentives = db.Column(db.Float)
    otherDirectCosts = db.Column(db.Float)
    totalAmount = db.Column(db.Float)

    def __init__(self, id, wages, perDiem, telephoneCosts, fieldTravelExpenses,
                 administrativeSupport, accomodationAllowance, consultants,
                 professionalCosts, printingAndStationery, covid19PPEs,
                 venueHire, refreshments, transcription, incentives,
                 otherDirectCosts, totalAmount):
        """initializing objects for budget model"""
        self.id = id
        self.wages = wages,
        self.perDiem = perDiem,
        self.telephoneCosts = telephoneCosts,
        self.fieldTravelExpenses = fieldTravelExpenses,
        self.administrativeSupport = administrativeSupport,
        self.accomodationAllowance = accomodationAllowance,
        self.consultants = consultants,
        self.professionalCosts = professionalCosts,
        self.printingAndStationery = printingAndStationery,
        self.covid19PPEs = covid19PPEs,
        self.venueHire = venueHire,
        self.refreshments = refreshments,
        self.transcription = transcription,
        self.incentives = incentives,
        self.otherDirectCosts = otherDirectCosts,
        self.totalAmount = totalAmount
Beispiel #9
0
class Files(db.Model):
    """this creates the files model"""

    __tablename__ = "Files"

    id = db.Column(db.String(20), primary_key=True)
    companyId = db.Column(db.String(20), db.ForeignKey("Company.id"))
    projectId = db.Column(db.String(20), db.ForeignKey("Project.id"))
    fileType = db.Column(db.String(10), nullable=False)
    fileAmount = db.Column(db.Float, nullable=False)
    createdBy = db.Column(db.String(20), db.ForeignKey("Users.id"))
    dateCreated = db.Column(db.Date)
    authorizedOrRejectedBy = db.Column(db.String(20),
                                       db.ForeignKey("Users.id"))
    dateAuthorizedOrRejected = db.Column(db.Date)
    fileStatus = db.Column(db.String(25), nullable=False)
    fileName = db.Column(db.String(100), nullable=False)

    def __init__(
        self,
        id,
        companyId,
        projectId,
        fileType,
        fileAmount,
        createdBy,
        dateCreated,
        authorizedOrRejectedBy,
        dateAuthorizedOrRejected,
        fileStatus,
        fileName,
    ):
        """intilizing files model items"""
        self.id = id
        self.companyId = companyId
        self.projectId = projectId
        self.fileType = fileType
        self.fileAmount = fileAmount
        self.createdBy = createdBy
        self.dateCreated = dateCreated
        self.authorizedOrRejectedBy = authorizedOrRejectedBy
        self.dateAuthorizedOrRejected = dateAuthorizedOrRejected
        self.fileStatus = fileStatus
        self.fileName = fileName
Beispiel #10
0
class Payments(db.Model):
    """
    this creates the payment model
    """

    __tablename__ = "Payments"

    id = db.Column(db.String(20), primary_key=True)
    employee_id = db.Column(db.String(20), db.ForeignKey("Employees.id"))
    project_number = db.Column(db.Integer)
    project_name = db.Column(db.String(100))
    employee_name = db.Column(db.String(120))
    expense_head = db.Column(db.String(255))
    rate = db.Column(db.Integer)
    days = db.Column(db.Integer)
    total_amount = db.Column(db.Float)
    file_id = db.Column(db.String(20), db.ForeignKey("Files.id"))
    advance_amount = db.Column(db.Float)

    def __init__(self, id, employee_id, project_number, project_name,
                 employee_name, expense_head, rate, days, total_amount,
                 file_id, advance_amount):
        """initializing inputs for this model"""
        self.id = id
        self.employee_id = employee_id,
        self.project_number = project_number,
        self.project_name = project_name,
        self.employee_name = employee_name,
        self.expense_head = expense_head,
        self.rate = rate,
        self.days = days,
        self.total_amount = total_amount
        self.file_id = file_id
        self.advance_amount = advance_amount