class Task(db.Model): __bind_key__ = 'goalsheet' id = db.Column(db.Integer, unique=True, nullable=False, primary_key=True) description = db.Column(db.String(1000), nullable=False) dtAssigned = db.Column(db.DateTime) dtCompleted = db.Column(db.DateTime) dateStart = db.Column(db.DateTime) dateEnd = db.Column(db.DateTime) manadator = db.Column(db.Boolean(), default=True) midyearSelfAssessment = db.Column(db.String(500)) endyearSelfAssessment = db.Column(db.String(500)) completionstatus = db.Column(db.String(40)) personalNotes = db.Column(db.String(1000)) goalId = db.Column(db.Integer, db.ForeignKey("goal.id")) goalSheetId = db.Column( db.Integer, db.ForeignKey("goal_sheet.id") ) # # Only for convenience, we can always traverse via the goal-section selfRating = db.Column(db.Integer, default=0) #Self selfAssessment = db.Column(db.Integer, default=0) #Self l1Rating = db.Column(db.Integer, default=0) #L1 Manager l1Assessment = db.Column(db.Integer, default=0) l2Rating = db.Column(db.Integer, default=0) #L2 - DC-Lead l2Assessment = db.Column(db.Integer, default=0) l3Rating = db.Column(db.Integer, default=0) #L3 - mgmt - Sridhar/Sriram/Suresh l3Assessment = db.Column(db.Integer, default=0) pubRating = db.Column( db.Integer, default=0) #What is show to the end user and/or used for calculation pubAssessment = db.Column( db.Integer, default=0) #pub* may not be used, putting it just to be sure weight = db.Column(db.FLOAT, default=0) score = db.Column(db.FLOAT, default=0)
class Activity(db.Model): __bind_key__ = 'goalsheet' id = db.Column(db.Integer, unique=True, nullable=False, primary_key=True) description = db.Column(db.String(1000), nullable=False) task = db.Column(db.Integer, db.ForeignKey("task.id")) goalSheetId = db.Column(db.Integer, db.ForeignKey("goal_sheet.id"))
class TemplateGoalList( db.Model ): # A list of goals from Master, that should be copied for a givem Template __bind_key__ = 'goalsheet' id = db.Column(db.Integer, unique=True, nullable=False, primary_key=True) # Template ID templateId = db.Column(db.Integer, db.ForeignKey("assignment_template.id")) mastergoalId = db.Column(db.Integer, db.ForeignKey("master_goal.id"))
class EmployeeProject(db.Model): __bind_key__ = 'hrms' __tablename__ = 'employee_project' project_name = db.Column(db.String(255), primary_key=True) approver_emp_id = db.Column(db.ForeignKey('travel_approver.employee_id'), nullable=False, index=True) customer_name = db.Column(db.ForeignKey('project_customer.customer_name'), nullable=False, index=True) approver_emp = db.relationship('TravelApprover', primaryjoin='EmployeeProject.approver_emp_id == TravelApprover.employee_id', backref='employee_projects') project_customer = db.relationship('ProjectCustomer', primaryjoin='EmployeeProject.customer_name == ProjectCustomer.customer_name', backref='employee_projects')
class Employee(db.Model): __bind_key__ = 'hrms' __tablename__ = 'employee' SID = db.Column(db.BigInteger, primary_key=True) EMPLOYEE_ID = db.Column(db.String(255)) FIRST_NAME = db.Column(db.String(255)) MIDDLE_NAME = db.Column(db.String(255)) LAST_NAME = db.Column(db.String(255)) PASSWORD = db.Column(db.String(255)) GENDER = db.Column(db.String(255)) DATA_OF_BIRTH = db.Column(db.Date) DATE_OF_JOINING = db.Column(db.Date) DESIGNATION = db.Column(db.String(255)) OFFICE_EMAIL_ID = db.Column(db.String(255)) PERSONAL_EMAIL_ID = db.Column(db.String(255)) ALTERNATE_EMAIL_ID = db.Column(db.String(255)) EMERGENCY_NO = db.Column(db.String(255)) TOTAL_EXPERIENCE = db.Column(db.String(255)) MOBILE_NO = db.Column(db.String(255)) OFFICE_NO = db.Column(db.String(255)) HOME_NO = db.Column(db.String(255)) PAN_NO = db.Column(db.String(255)) UAN_NO = db.Column(db.String(255)) PF_NO = db.Column(db.String(255)) NOTICE_PERIOD = db.Column(db.String(255)) UserId = db.Column(db.String(255)) Is_Save_OR_UPDATE = db.Column(BIT(1)) DEPARTMENT_ID = db.Column(db.ForeignKey('departmant.ID'), index=True) DESIGNATION_ID = db.Column(db.ForeignKey('designation.ID'), index=True) Manager_ID = db.Column(db.String(255)) User_Name = db.Column(db.String(255)) COUNTRY_ID = db.Column(db.ForeignKey('country.ID'), index=True) STATE_ID = db.Column(db.ForeignKey('state.ID'), index=True) Status = db.Column(db.String(255)) ROLE_OF_EMPLOYEE = db.Column(db.String(255)) Nationality = db.Column(db.String(255)) #Additional fields added BLOOD_GROUP = db.Column(db.String(255)) BANK_ACCOUNT_NO = db.Column(db.String(255)) ENGINEERING_OR_NON_ENGINEERING = db.Column(db.String(255)) # TOTAL_RELEVANT_EXPERIENCE = db.Column(db.String(255)) # TOTAL_RELEVANT_EXPERIENCE_DATE = db.Column(db.String(255)) country = db.relationship('Country', primaryjoin='Employee.COUNTRY_ID == Country.ID', backref='employees') departmant = db.relationship('Departmant', primaryjoin='Employee.DEPARTMENT_ID == Departmant.ID', backref='employees') designation = db.relationship('Designation', primaryjoin='Employee.DESIGNATION_ID == Designation.ID', backref='employees') state = db.relationship('State', primaryjoin='Employee.STATE_ID == State.ID', backref='employees')
class QuestionSet(db.Model): id = db.Column(db.Integer, unique=True, nullable=False, primary_key=True) examId = db.Column( db.Integer, db.ForeignKey("exam_obj.examId")) # This comes from the ExamObj question = db.Column(db.String(240), nullable=False) optionA = db.Column(db.String(80), nullable=False) optionB = db.Column(db.String(80), nullable=False) optionC = db.Column(db.String(80), nullable=False) optionD = db.Column(db.String(80), nullable=False) difficulty = db.Column(db.String(10), nullable=False) correctAnswer = db.Column(db.String(2), nullable=False) description = db.Column(db.String(500)) selectedOption = db.Column(db.String(2)) def __init__(self,examId,question,optionA,optionB,optionC,optionD, difficulty, correctAnswer, \ description, selectedOption ): self.examId = examId self.question = question self.optionA = optionA self.optionB = optionB self.optionC = optionC self.optionD = optionD self.difficulty = difficulty self.correctAnswer = correctAnswer self.description = description self.selectedOption = selectedOption def __repr__(self): return '<question %r>' % self.question
class ForeignExchangeRequest(db.Model): __bind_key__ = 'hrms' __tablename__ = 'foreign_exchange_request' forex_request_id = db.Column(db.String(255), primary_key=True) currency = db.Column(db.String(255), nullable=False) currency_in_cash = db.Column(db.String(255)) pre_outstanding_balance_in_card = db.Column(db.String(255)) pre_outstanding_balance_in_card_currecy = db.Column(db.String(255)) total_currency_required = db.Column(db.String(255)) travel_card_amount = db.Column(db.String(255), nullable=False) travellers_check_amount = db.Column(db.String(255), nullable=False) travel_request_id = db.Column(db.ForeignKey('travel_request.travel_request_id'), db.ForeignKey('travel_details.travel_request_id'), index=True) travel_request = db.relationship('TravelDetail', primaryjoin='ForeignExchangeRequest.travel_request_id == TravelDetail.travel_request_id', backref='foreign_exchange_requests') travel_request1 = db.relationship('TravelRequest', primaryjoin='ForeignExchangeRequest.travel_request_id == TravelRequest.travel_request_id', backref='foreign_exchange_requests')
class CabRequest(db.Model): __bind_key__ = 'hrms' __tablename__ = 'cab_request' cab_request_id = db.Column(db.String(255), primary_key=True) drop_location = db.Column(db.String(255)) employee_id = db.Column(db.String(255), nullable=False) employee_name = db.Column(db.String(255), nullable=False) pickup_address = db.Column(db.String(255)) pickup_date = db.Column(db.String(255)) pickup_time = db.Column(db.String(255)) type_of_cab = db.Column(db.String(255)) travel_request_id = db.Column(db.ForeignKey('travel_details.travel_request_id'), db.ForeignKey('travel_request.travel_request_id'), index=True) travel_request = db.relationship('TravelRequest', primaryjoin='CabRequest.travel_request_id == TravelRequest.travel_request_id', backref='cab_requests') travel_request1 = db.relationship('TravelDetail', primaryjoin='CabRequest.travel_request_id == TravelDetail.travel_request_id', backref='cab_requests')
class Hotelexpense(db.Model): __bind_key__ = 'hrms' __tablename__ = 'hotelexpense' HOTEL_ID = db.Column(db.Integer, primary_key=True) CLAIM_ID = db.Column(db.ForeignKey('expense_claim.CLAIM_ID'), index=True) HOTEL_TYPE = db.Column(db.String(100)) COUNTRY = db.Column(db.String(100)) CITY = db.Column(db.String(100)) HOTEL_NAME = db.Column(db.String(100)) BOOKED_ON_NAME = db.Column(db.String(100)) CHECK_IN_DATE = db.Column(db.String(100)) CHECK_OUT_DATE = db.Column(db.String(100)) NUMBER_OF_DAYS_STAYED = db.Column(db.String(100)) PER_DAY_CHARGE = db.Column(db.String(100)) TOTAL_ROOM_CHARGE = db.Column(db.String(100)) LAUNDRY_EXPENSE = db.Column(db.String(100)) TELEPHONE_EXPENSE = db.Column(db.String(100)) INTERNET_EXPENSE = db.Column(db.String(100)) FOOD_EXPENSE = db.Column(db.String(100)) PARKING_EXPENSE = db.Column(db.String(100)) SERVICE_TAX = db.Column(db.String(100)) TOTAL_EXPENSE = db.Column(db.String(100)) PAID_BY = db.Column(db.String(100)) UPLOAD_DOCUMENT = db.Column(db.String(100)) CLAIM_DETAILS_ID = db.Column(db.Integer) hotelexpensecol = db.Column(db.String(45)) expense_claim = db.relationship('ExpenseClaim', primaryjoin='Hotelexpense.CLAIM_ID == ExpenseClaim.CLAIM_ID', backref='hotelexpenses')
class ProjectRole(db.Model): __bind_key__ = 'bcsproj' id = db.Column(db.Integer, unique=True, nullable=False, primary_key=True) projectId = db.Column(db.Integer, db.ForeignKey("msg_project.id")) roleName = db.Column(db.String(100)) #Text name of the role roleSkillCat = db.Column( db.String(30) ) # Skill category of the role e.g. Technical, Functional, Managerial roleSkill = db.Column(db.String( 100)) # Specific Skill Desription e.g. Sr. Java Developer, Openshift dateStart = db.Column(db.DateTime) dateEnd = db.Column(db.DateTime) careerLevel = db.Column( db.String(10)) # from BCS, the "reqiured level" or the "demand level" billingModel = db.Column( db.String(20)) # [MonthlyFTE, DailyEffort, AlternateModel2] billingPercent = db.Column(db.Integer) # 100% is the default staffingStatus = db.Column( db.String(30) ) # [Open, Proposed, Blocked, Confirmed, Shadowing, AwaitingReourceJoin] candidatesInPlay = db.Column( db.String(200) ) #[comma separted list of names, till recruitment Module comes-in] assignedEmpId = db.Column(db.Integer) # In case an employee is assigned assignedEmpBcsName = db.Column( db.String(80)) # In case an employee is assigned assigned_billLevel = db.Column( db.Integer) # Level Of the employee assigned projectObj = db.relationship( 'MsgProject', primaryjoin='ProjectRole.projectId == MsgProject.id', backref='programs')
class HotelRequest(db.Model): __bind_key__ = 'hrms' __tablename__ = 'hotel_request' hotel_request_id = db.Column(db.String(255), primary_key=True) check_in_date = db.Column(db.String(255)) check_out_date = db.Column(db.String(255)) employee_id = db.Column(db.String(255), nullable=False) employee_name = db.Column(db.String(255), nullable=False) place_of_visit = db.Column(db.String(255), nullable=False) preferred_hotel = db.Column(db.String(255)) preferred_hotel_type = db.Column(db.String(255)) preferred_room_type = db.Column(db.String(255)) travel_request_id = db.Column(db.ForeignKey('travel_details.travel_request_id'), db.ForeignKey('travel_request.travel_request_id'), index=True) travel_request = db.relationship('TravelRequest', primaryjoin='HotelRequest.travel_request_id == TravelRequest.travel_request_id', backref='hotel_requests') travel_request1 = db.relationship('TravelDetail', primaryjoin='HotelRequest.travel_request_id == TravelDetail.travel_request_id', backref='hotel_requests')
class EmploymentHistory(db.Model): __bind_key__ = 'hrms' __tablename__ = 'employment_history' ID = db.Column(db.BigInteger, primary_key=True) COMPANY_NAME = db.Column(db.String(500)) DESIGNATION = db.Column(db.String(500)) #IS_ENABLE = db.Column(BIT(1)) EMPLOYEE_ID = db.Column(db.ForeignKey('employee.SID'), index=True) START_DATE = db.Column(db.String(50)) END_DATE = db.Column(db.String(50)) ROLE_ID = db.Column(db.ForeignKey('role.ID'), index=True) DESIGNATION_ID = db.Column(db.ForeignKey('designation.ID'), index=True) designation = db.relationship('Designation', primaryjoin='EmploymentHistory.DESIGNATION_ID == Designation.ID', backref='employment_histories') employee = db.relationship('Employee', primaryjoin='EmploymentHistory.EMPLOYEE_ID == Employee.SID', backref='employment_histories') role = db.relationship('Role', primaryjoin='EmploymentHistory.ROLE_ID == Role.ID', backref='employment_histories')
class AirlineRequest(db.Model): __bind_key__ = 'hrms' __tablename__ = 'airline_request' airline_request_id = db.Column(db.String(255), primary_key=True) arrival_date = db.Column(db.String(255)) departure_date = db.Column(db.String(255)) employee_id = db.Column(db.String(255), nullable=False) employee_name = db.Column(db.String(255), nullable=False) place_of_arrival = db.Column(db.String(255)) place_of_departure = db.Column(db.String(255)) preferred_airline = db.Column(db.String(255)) preferred_time = db.Column(db.String(255)) travel_request_id = db.Column(db.ForeignKey('travel_details.travel_request_id'), db.ForeignKey('travel_request.travel_request_id'), index=True) travel_request = db.relationship('TravelDetail', primaryjoin='AirlineRequest.travel_request_id == TravelDetail.travel_request_id', backref='airline_requests') travel_request1 = db.relationship('TravelRequest', primaryjoin='AirlineRequest.travel_request_id == TravelRequest.travel_request_id', backref='airline_requests')
class Goal(db.Model): __bind_key__ = 'goalsheet' id = db.Column(db.Integer, unique=True, nullable=False, primary_key=True) title = db.Column(db.String(240), nullable=False) description = db.Column(db.String(1000), nullable=False) empId = db.Column( db.Integer ) # # Only for convenience, we can always traverse via the goal-sheet->section targetSet = db.Column(db.String(500)) midYearTargetAchieved = db.Column(db.String(500)) midyearSelfAssessment = db.Column(db.String(500)) midYearManagerFeedback = db.Column(db.String(500)) midYeardcFeedback = db.Column(db.String(500)) midYearFinalFeedback = db.Column(db.String(500)) selfRating = db.Column(db.Integer) managerRating = db.Column(db.Integer) dcLeadRating = db.Column(db.Integer) finalRating = db.Column(db.Integer) endYearTargetAchieved = db.Column(db.String(500)) endyearSelfAssessment = db.Column(db.String(500)) endYearManagerFeedback = db.Column(db.String(500)) endYeardcFeedback = db.Column(db.String(500)) endYearFinalFeedback = db.Column(db.String(500)) managerFeedback = db.Column(db.String(500)) dcFeedback = db.Column(db.String(500)) dateStart = db.Column(db.DateTime) dateEnd = db.Column(db.DateTime) manadator = db.Column(db.Boolean(), default=True) masterGoalId = db.Column(db.Integer) dtAssigned = db.Column(db.DateTime) dtCompleted = db.Column(db.DateTime) dcapprovalstatus = db.Column(db.String(40)) hrintimationstatus = db.Column(db.String(40)) completionstatus = db.Column(db.String(40)) goalSectionId = db.Column(db.Integer, db.ForeignKey("goal_section.id")) goalSheetId = db.Column( db.Integer, db.ForeignKey("goal_sheet.id") ) # Only for convenience, we can always traverse via the goal-section weight = db.Column(db.FLOAT, default=0) score = db.Column(db.FLOAT, default=0)
class FamilyRelation(db.Model): __bind_key__ = 'hrms' __tablename__ = 'family_relation' id = db.Column(db.Integer, primary_key=True) relationship = db.Column(db.String(255)) immigration_request_id = db.Column(db.ForeignKey('immigration_request.immigration_request_id'), nullable=False, index=True) immigration_request = db.relationship('ImmigrationRequest', primaryjoin='FamilyRelation.immigration_request_id == ImmigrationRequest.immigration_request_id', backref='family_relations')
class SkillType(db.Model): __bind_key__ = 'hrms' __tablename__ = 'skill_type' ID = db.Column(db.BigInteger, primary_key=True) name = db.Column(db.String(500)) SKILL_CATEGORY_ID = db.Column(db.ForeignKey('skill_category.ID'), index=True) skill_category = db.relationship('SkillCategory', primaryjoin='SkillType.SKILL_CATEGORY_ID == SkillCategory.ID', backref='skill_types')
class DegreeType(db.Model): __bind_key__ = 'hrms' __tablename__ = 'degree_type' ID = db.Column(db.BigInteger, primary_key=True) NAME = db.Column(db.String(500)) QUALIFICATION_TYPE_ID = db.Column(db.ForeignKey('qualification_type.ID'), index=True) qualification_type = db.relationship('QualificationType', primaryjoin='DegreeType.QUALIFICATION_TYPE_ID == QualificationType.ID', backref='degree_types')
class CertificationNameType(db.Model): __bind_key__ = 'hrms' __tablename__ = 'certification_name_type' ID = db.Column(db.BigInteger, primary_key=True) name = db.Column(db.String(500)) CERTIFICATION_TYPE_ID = db.Column(db.ForeignKey('certification_type.ID'), index=True) certification_type = db.relationship('CertificationType', primaryjoin='CertificationNameType.CERTIFICATION_TYPE_ID == CertificationType.ID', backref='certification_name_types')
class VisaType(db.Model): __bind_key__ = 'hrms' __tablename__ = 'visa_type' ID = db.Column(db.BigInteger, primary_key=True) name = db.Column(db.String(500)) COUNTRY_ID = db.Column(db.ForeignKey('country.ID'), nullable=False, index=True) country = db.relationship('Country', primaryjoin='VisaType.COUNTRY_ID == Country.ID', backref='visa_types')
class ExpenseType(db.Model): __bind_key__ = 'hrms' __tablename__ = 'expense_type' id = db.Column(db.Integer, primary_key=True) expense_type = db.Column(db.String(100)) expense_group_id = db.Column(db.ForeignKey('expense_group.id', ondelete='CASCADE'), index=True) expense_group = db.relationship('ExpenseGroup', primaryjoin='ExpenseType.expense_group_id == ExpenseGroup.id', backref='expense_types')
class Assetsubcategory(db.Model): __bind_key__ = 'hrms' __tablename__ = 'assetsubcategory' id = db.Column(db.Integer, primary_key=True) categoryId = db.Column(db.ForeignKey('assetcategory.id'), index=True) subCategory = db.Column(db.String) assetcategory = db.relationship('Assetcategory', primaryjoin='Assetsubcategory.categoryId == Assetcategory.id', backref='assetsubcategories')
class Skill(db.Model): __bind_key__ = 'hrms' __tablename__ = 'skills' ID = db.Column(db.BigInteger, primary_key=True) name = db.Column(db.String(500)) SKILL_TYPE_ID = db.Column(db.ForeignKey('skill_type.ID'), index=True) skill_type = db.relationship('SkillType', primaryjoin='Skill.SKILL_TYPE_ID == SkillType.ID', backref='skills')
class State(db.Model): __bind_key__ = 'hrms' __tablename__ = 'state' ID = db.Column(db.BigInteger, primary_key=True) name = db.Column(db.String(500)) COUNTRY_ID = db.Column(db.ForeignKey('country.ID'), index=True) country = db.relationship('Country', primaryjoin='State.COUNTRY_ID == Country.ID', backref='states')
class HotelList(db.Model): __bind_key__ = 'hrms' __tablename__ = 'hotel_list' id = db.Column(db.String(255), primary_key=True) hotel_name = db.Column(db.String(255)) star_rating = db.Column(db.String(255)) cityId = db.Column(db.ForeignKey('cities.id'), nullable=False, index=True) city = db.relationship('City', primaryjoin='HotelList.cityId == City.id', backref='hotel_lists')
class Demandasset(db.Model): __bind_key__ = 'hrms' __tablename__ = 'demandasset' id_No = db.Column(db.BigInteger, primary_key=True) request_Id = db.Column(db.String(255)) request_Type = db.Column(db.String(255)) emp_id = db.Column(db.String(255)) request_date = db.Column(db.Date) description = db.Column(db.String(255)) quantity = db.Column(db.Integer) comments = db.Column(db.String(255)) demandCategory = db.Column(db.ForeignKey('assetcategory.id'), index=True) status = db.Column(db.ForeignKey('demandstatus.id'), index=True) demandSubcategory = db.Column(db.ForeignKey('assetsubcategory.id'), index=True) assetcategory = db.relationship('Assetcategory', primaryjoin='Demandasset.demandCategory == Assetcategory.id', backref='demandassets') assetsubcategory = db.relationship('Assetsubcategory', primaryjoin='Demandasset.demandSubcategory == Assetsubcategory.id', backref='demandassets') demandstatu = db.relationship('Demandstatu', primaryjoin='Demandasset.status == Demandstatu.id', backref='demandassets')
class GoalSection(db.Model): __bind_key__ = 'goalsheet' id = db.Column(db.Integer, unique=True, nullable=False, primary_key=True) title = db.Column(db.String(240), nullable=False) description = db.Column(db.String(1000), nullable=False) empId = db.Column(db.Integer) dateStart = db.Column(db.DateTime) dateEnd = db.Column(db.DateTime) goalSheetId = db.Column(db.Integer, db.ForeignKey("goal_sheet.id"))
class Empassetmapping(db.Model): __bind_key__ = 'hrms' __tablename__ = 'empassetmapping' id = db.Column(db.BigInteger, primary_key=True) empId = db.Column(db.String(255)) bayNo = db.Column(db.String(255)) windowsVersion = db.Column(db.String(255)) osProKey = db.Column(db.String(255)) msOfficeVersion = db.Column(db.String(255)) officeProKey = db.Column(db.String(255)) assignedOn = db.Column(db.Date) returnedOn = db.Column(db.Date) notes = db.Column(db.String(255)) assetId = db.Column(db.ForeignKey('asset.assetId'), index=True) requestId = db.Column(db.ForeignKey('demandasset.id_No'), index=True) asset = db.relationship('Asset', primaryjoin='Empassetmapping.assetId == Asset.assetId', backref='empassetmappings') demandasset = db.relationship('Demandasset', primaryjoin='Empassetmapping.requestId == Demandasset.id_No', backref='empassetmappings')
class ManagerInfo(db.Model): __bind_key__ = 'hrms' __tablename__ = 'manager_info' ID = db.Column(db.BigInteger, primary_key=True) name = db.Column(db.String(500)) departMent_Id = db.Column(db.ForeignKey('departmant.ID'), nullable=False, index=True) emp_id = db.Column(db.String(50), unique=True) departmant = db.relationship('Departmant', primaryjoin='ManagerInfo.departMent_Id == Departmant.ID', backref='manager_infos')
class QuestionSet(db.Model): id = db.Column(db.Integer, unique=True, nullable=False, primary_key=True) examId = db.Column( db.Integer, db.ForeignKey("exam_obj.examId")) # This comes from the ExamObj question = db.Column(db.String(240), nullable=False) optionA = db.Column(db.String(80), nullable=False) optionB = db.Column(db.String(80), nullable=False) optionC = db.Column(db.String(80), nullable=False) optionD = db.Column(db.String(80), nullable=False) difficulty = db.Column(db.String(10), nullable=False) correctAnswer = db.Column(db.String(2), nullable=False) description = db.Column(db.String(500)) selectedOption = db.Column(db.String(2)) def __init__(self,examId,question,optionA,optionB,optionC,optionD, difficulty, correctAnswer, \ description, selectedOption ): self.examId = examId self.question = question self.optionA = optionA self.optionB = optionB self.optionC = optionC self.optionD = optionD self.difficulty = difficulty self.correctAnswer = correctAnswer self.description = description self.selectedOption = selectedOption #Update Question After the test def updateAfterTest(self, selectedOption): self.selectedOption = selectedOption # add the answer return # don't Commit to DB def getSelectedOption(self): return self.selectedOption # add the answer def getCorrectAnswer(self): return self.correctAnswer # add the answer # Put a error handler instead of try-catch here # DB COmmit should have a try-catch, will add once UI validation is done def addNocommit(self): db.session.add(self) return def commit(self): db.session.commit() return def __repr__(self): return '<question %r>' % self.question
class MsgProject(db.Model): __bind_key__ = 'bcsproj' id = db.Column(db.Integer, unique=True, nullable=False, primary_key=True) programId = db.Column(db.Integer, db.ForeignKey("msg_program.id")) accountId = db.Column( db.Integer, db.ForeignKey("msg_account.id")) #Duplicated here for convenience pmEmail = db.Column(db.String(200), nullable=False) # email of the project manager onsiteCounterpart = db.Column( db.String(200)) # email of the oniste PM-counterpart projName = db.Column(db.String(200)) # Project Name that is used, e.g. NN projBCSName = db.Column(db.String( 200)) # Project Name as obtained from BCS, needed for linking projType = db.Column(db.String( 100)) # Project POC, Maintenance, Development, implementation, DevOps bcsProjectID = db.Column( db.String(20)) # This is the PROJECT_ID from the BCS-FILE dateStart = db.Column(db.DateTime) #Defaults to 2000-01-01 dateEnd = db.Column(db.DateTime) #Defaults to 2000-01-01 travelCountry = db.Column(db.String( 200)) # default travel country, For travel information purpose, contractStatus = db.Column(db.String( 30)) # [Opportunity, Proposed, Signed, Terminated, Ended, OnHold] deliveryStatus = db.Column(db.String( 30)) # [AwaitingConfirmation,AwaitingStaffing, InProgress, Closed ] bcsProjectStatus = db.Column(db.String(20)) # From BCS-Data billability = db.Column(db.String(20)) # From BCS-Data projectCostCentre = db.Column(db.String(20)) # From BCS-Data billingModel = db.Column(db.String( 20)) # Project Level[MonthlyFTE, DailyEffort, AlternateModel2] accountObj = db.relationship( 'MsgAccount', primaryjoin='MsgProject.accountId == MsgAccount.id', backref='accounts') programObj = db.relationship( 'MsgProgram', primaryjoin='MsgProject.programId == MsgProgram.id', backref='programs')