Пример #1
0
class courseNote(db.Model):
    __tablename__ = 'coursenotes'
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String())
    details = db.Column(db.String())
    time = db.Column(db.DateTime, nullable=False, default=datetime.now)
    attachments = db.relationship('Attachment', backref='coursenote')
    course_id = db.Column(db.Integer, db.ForeignKey('courses.id'))

    def __init__(self, title, details, course_id):
        self.title = title
        self.details = details
        self.course_id = course_id
Пример #2
0
class Professor(db.Model, UserMixin):
    __tablename__ = 'professors'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String())
    email = db.Column(db.String(64), unique=True, index=True)
    branch_id = db.Column(db.Integer, db.ForeignKey('branches.id'))
    courses = db.relationship('Course', backref='professor', lazy=True)
    password_hash = db.Column(db.String(128))

    def __init__(self, name, email, password, branch_id):
        self.email = email
        self.name = name
        self.password_hash = generate_password_hash(password)
        self.branch_id = branch_id
Пример #3
0
class Attachment(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String())
    ext = db.Column(db.String(10))
    link = db.Column(db.String())
    coursenote_id = db.Column(db.Integer, db.ForeignKey('coursenotes.id'))
    assignment_id = db.Column(db.Integer, db.ForeignKey('assignments.id'))
    submission_id = db.Column(db.Integer, db.ForeignKey('submission.id'))
    request_id = db.Column(db.Integer, db.ForeignKey('request.id'))

    def __init__(self,
                 name,
                 ext,
                 link,
                 coursenote_id=None,
                 assignment_id=None,
                 submission_id=None,
                 request_id=None):
        self.name = name
        self.ext = ext
        self.link = link
        self.coursenote_id = coursenote_id
        self.assignment_id = assignment_id
        self.submission_id = submission_id
        self.request_id = request_id
Пример #4
0
class EdtionBudget(db.Model):
    __tablename__ = 'EdtionBudget'

    id = db.Column(db.Integer, primary_key=True)
    total_page = db.Column(db.String())
    number = db.Column(db.String())
    volume = db.Column(db.String())
    total_advertisement = db.Column(db.String())
    no_of_color_pages = db.Column(db.String())
    created_by = db.Column(db.String())
    created_at = db.Column('created_at', db.DateTime)

    def __init__(self, total_page, number, volume, total_advertisement,
                 no_of_color_pages):
        self.total_page = total_page
        self.number = number
        self.volume = volume
        self.total_advertisement = total_advertisement
        self.no_of_color_pages = no_of_color_pages
        self.created_at = datetime.utcnow()

    def __repr__(self):
        return '<id {}>'.format(self.id)

    def serialize(self):
        return {
            'id': self.id,
            'total_page': self.total_page,
            'number': self.number,
            'volume': self.volume,
            'total_advertisement': self.total_advertisement,
            'no_of_color_pages': self.no_of_color_pages,
            'created_by': self.created_by,
            'created_at': self.created_at
        }
Пример #5
0
class QuizResponse(db.Model):
    __tablename__ = 'quizresponses'
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    quiz_id = db.Column(db.Integer, db.ForeignKey('quizzes.id'))
    quizQuestionResponses = db.relationship('quizQuestionResponse',
                                            backref='quiz_response')

    @property
    def marks(self):
        ans = 0
        for qqr in self.quizQuestionResponses:
            ans += qqr.marks
        return ans
Пример #6
0
class Quiz(db.Model):
    __tablename__ = 'quizzes'
    id = db.Column(db.Integer, primary_key=True)
    course_id = db.Column(db.Integer, db.ForeignKey('courses.id'))
    name = db.Column(db.String(), nullable=False)
    start_time = db.Column(db.DateTime, nullable=False, default=datetime.now)
    end_time = db.Column(db.DateTime, nullable=False, default=datetime.now)
    questions = db.relationship('Question', backref='quiz')
    responses = db.relationship('QuizResponse', backref='quiz')

    @property
    def marks(self):
        ans = 0
        for q in self.questions:
            ans += q.marks
        return ans
Пример #7
0
class Column(db.Model):
    __tablename__ = 'Column'

    id = db.Column(db.Integer, primary_key=True)
    headline = db.Column(db.String())
    content = db.Column(db.String())
    category = db.Column(db.String())
    excerpt = db.Column(db.String())
    date = db.Column(db.String())
    writtenBy = db.Column(db.String())

    def __init__(self, headline, content, category, excerpt, date, writtenBy):
        self.headline = headline
        self.content = content
        self.category = category
        self.excerpt = excerpt
        self.date = date
        self.writtenBy = writtenBy

    def __repr__(self):
        return '<id {}>'.format(self.id)

    def serialize(self):
        return {
            'id': self.id,
            'headline': self.headline,
            'content': self.content,
            'category': self.category,
            'excerpt': self.excerpt,
            'date': self.date,
            'writtenBy': self.writtenBy
        }
Пример #8
0
class Course(db.Model):
    __tablename__ = 'courses'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String())
    details = db.Column(db.String())
    prof_id = db.Column(db.Integer,
                        db.ForeignKey('professors.id'),
                        nullable=False)
    course_code = db.Column(db.String(), unique=True)
    branches = db.relationship('Branch',
                               secondary=branch_helper,
                               backref=db.backref('courses'))
    can_apply = db.Column(db.Boolean)
    courseNotes = db.relationship('courseNote',
                                  backref='Course',
                                  order_by="desc(courseNote.time)")
    assignments = db.relationship('Assignment',
                                  backref='Course',
                                  order_by="desc(Assignment.time)")
    requests = db.relationship('Request', backref='course')
    quizzes = db.relationship('Quiz', backref='course')

    def __init__(
        self,
        name,
        course_code,
        details,
        prof_id,
        can_apply,
    ):
        self.name = name
        self.course_code = course_code
        self.details = details
        self.prof_id = prof_id
        self.can_apply = can_apply
Пример #9
0
class Question(db.Model):
    __tablename__ = 'questions'
    id = db.Column(db.Integer, primary_key=True)
    quiz_id = db.Column(db.Integer, db.ForeignKey('quizzes.id'))
    question = db.Column(db.String(), nullable=False)
    options = db.relationship('Option', backref='question')
    ans = db.Column(db.String(), nullable=False)
    marks = db.Column(db.Integer, nullable=False, default=1)
    is_multicorrect = db.Column(db.Boolean, default=False)
    responses = db.relationship('quizQuestionResponse', backref='question')
    is_partial = db.Column(db.Boolean, default=False)
Пример #10
0
class CBCExam(db.Model):
    __tablename__ = 'cbc_exams'
    id = db.Column(db.Integer, primary_key=True)
    red_blood_cell_count = db.Column(db.String(10))
    white_blood_cell_count = db.Column(db.String(10))
    platelet_count = db.Column(db.String(10))
    hemoglobin = db.Column(db.String(10))
    hematocrit = db.Column(db.String(10))
Пример #11
0
class Patient(db.Model):
    __tablename__ = 'patients'
    id = db.Column(db.Integer, primary_key=True)
    first_name = db.Column(db.String(50), nullable=False)
    last_name = db.Column(db.String(50), nullable=False)
    gender = db.Column(db.String(50), nullable=False)
    date_of_birth = db.Column(db.Date, nullable=False)
    barangay = db.Column(db.String(255), nullable=False)
    address = db.Column(db.String(255), nullable=False)
    contact_no = db.Column(db.String(20))

    user = db.relationship('User', backref='user', cascade='all, delete')
    medical_records = db.relationship('MedicalRecord',
                                      backref='patient',
                                      cascade='all, delete')
Пример #12
0
class Result(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    section = db.Column(db.String(5), nullable=False)
    marks = db.Column(db.Integer, nullable=False)
    grade = db.Column(db.String(10), nullable=False)

    entered_by = db.Column(db.Integer, db.ForeignKey('teacher.id'))
    obtained_by = db.Column(db.Integer, db.ForeignKey('student.id'))
    course = db.Column(db.Integer, db.ForeignKey('course.id'))

    def __repr__(self):
        return f'Result :  {self.id} , {self.marks}'
Пример #13
0
class DiscussionPost(db.Model):
    __tablename__ = 'discussionposts'
    id = db.Column(db.Integer, primary_key=True)
    discussion_id = db.Column(db.Integer,
                              db.ForeignKey('discussionthreads.id'))
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    title = db.Column(db.String())
    details = db.Column(db.String())
    timeofpost = db.Column(db.DateTime, nullable=False, default=datetime.now)
    attachments = db.relationship('Attachment', backref='post')
Пример #14
0
class MyTask(db.Model):
    __tablename__ = 'myTask'

    id = db.Column(db.Integer, primary_key=True)
    taskTitle = db.Column(db.String())
    instruction = db.Column(db.String())
    dueDate = db.Column(db.String())
    volume = db.Column(db.Integer)
    number = db.Column(db.Integer)
    assignedTo = db.Column(db.Integer)
    assigneeID = db.Column(db.Integer)
    status = db.Column(db.Integer)

    def __init__(self, taskTitle, instruction, dueDate, volume, number,
                 assignedTo, assigneeID, status):
        self.taskTitle = taskTitle
        self.instruction = instruction
        self.dueDate = dueDate
        self.volume = volume
        self.number = number
        self.assignedTo = assignedTo
        self.assigneeID = assigneeID
        self.status = status

    def __repr__(self):
        return '<id {}>'.format(self.id)

    def serialize(self):
        return {
            'id': self.id,
            'taskTitle': self.taskTitle,
            'instruction': self.instruction,
            'dueDate': self.dueDate,
            'volume': self.volume,
            'number': self.number,
            'assignedTo': self.assignedTo,
            'assigneeID': self.assigneeID,
            'status': self.status
        }
Пример #15
0
class User(db.Model, UserMixin):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(50), unique=True, nullable=False)
    name = db.Column(db.String(50), nullable=False)
    position = db.Column(db.String(50), nullable=False)
    password = db.Column(db.String(255), nullable=False)
    patient_id = db.Column(db.Integer,
                           db.ForeignKey('patients.id'),
                           nullable=False,
                           default=0)
class SocialMediaSchedule(db.Model):
    __tablename__ = 'SocialMediaSchedule'

    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String())
    time = db.Column(db.String())
    date = db.Column(db.String())
    permalink = db.Column(db.String())
    excerpt = db.Column(db.String())
    status = db.Column(db.Integer)
    review = db.Column(db.Integer)
    author = db.Column(db.Integer)

    def __init__(self, title, time, date, permalink, excerpt, status, review,
                 author):
        self.title = title
        self.time = time
        self.date = date
        self.permalink = permalink
        self.excerpt = excerpt
        self.status = status
        self.review = review
        self.author = author

    def __repr__(self):
        return '<id {}>'.format(self.id)

    def serialize(self):
        return {
            'id': self.id,
            'title': self.title,
            'time': self.time,
            'date': self.date,
            'permalink': self.permalink,
            'excerpt': self.excerpt,
            'status': self.status,
            'review': self.review,
            'author': self.author
        }
Пример #17
0
class Resource(db.Model):
    __tablename__ = 'Resource'
     
    id = db.Column(db.Integer, primary_key=True)
    postID = db.Column(db.String())
    postType = db.Column(db.String())
    number = db.Column(db.String())
    photoCaption = db.Column(db.String())
    file = db.Column(db.String())
    filePath = db.Column(db.String())
    provider = db.Column(db.String())
    captionUpdate = db.Column(db.String())

    def __init__(self, postID,postType,number,photoCaption, file, filePath, provider, captionUpdate):
        self.postID = postID
        self.postType = postType
        self.number = number
        self.photoCaption = photoCaption
        self.file = file
        self.filePath = filePath
        self.provider = provider
        self.captionUpdate = captionUpdate

    def __repr__(self):
        return '<id {}>'.format(self.id)
    
    def serialize(self):
        return {
            'id': self.id, 
            'postID': self.postID,
            'postType': self.postType,
            'number':self.number,
            'photoCaption':self.photoCaption,
            'file':self.file,
            'filePath':self.filePath,
            'provider':self.provider,
            'captionUpdate':self.captionUpdate
        }
Пример #18
0
class Request(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    course_id = db.Column(db.Integer, db.ForeignKey('courses.id'))
    title = db.Column(db.String(100))
    details = db.Column(db.String(100))
    time = db.Column(db.DateTime, nullable=False, default=datetime.now)
    attachments = db.relationship('Attachment', backref='request')
    status = db.Column(db.Integer,default=0)#0 for pending 1 for accepted 2 for declined
    def __init__(self, user_id, course_id,title,details):
        self.user_id = user_id
        self.course_id = course_id
        self.title = title
        self.details = details

    pass
Пример #19
0
class Submission(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100))
    details = db.Column(db.String(100))
    time = db.Column(db.DateTime, nullable=False, default=datetime.now)
    attachments = db.relationship('Attachment', backref='submissions')
    assignment_id = db.Column(db.Integer, db.ForeignKey('assignments.id'))
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    def __init__(self, title, details, assignment_id,user_id):
        self.title = title
        self.details = details
        self.assignment_id = assignment_id
        self.user_id=user_id
Пример #20
0
class Course(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), nullable=False)
    crd_hrs = db.Column(db.Integer)
    no_of_student_taken = db.Column(db.Integer, default=0)
    status = db.Column(db.String(10))

    assign_to = db.Column(db.Integer, db.ForeignKey('teacher.id'))
    enrollments = db.relationship('Student',
                                  secondary=Enrollments,
                                  backref=db.backref('courses'))

    def __repr__(self):
        return f'Course :  {self.id} , {self.name}'
Пример #21
0
class Assignment(db.Model):
    __tablename__='assignments'
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100))
    details = db.Column(db.String(100))
    time=db.Column(db.DateTime,nullable=False,default=datetime.now)
    attachments=db.relationship('Attachment',backref='assignment')
    submissions = db.relationship('Submission', backref='assignment')
    deadline=db.Column(db.DateTime)
    course_id = db.Column(db.Integer, db.ForeignKey('courses.id'))
    def __init__(self,title,details,deadline,course_id):
        self.title=title
        self.details=details
        self.deadline=deadline
        self.course_id=course_id
Пример #22
0
class User(db.Model, UserMixin):
    __tablename__ = 'users'
    name = db.Column(db.String(100), nullable=False)
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100))
    email = db.Column(db.String(64), unique=True, index=True)
    password_hash = db.Column(db.String(128))
    year = db.Column(db.Integer())
    branch_id = db.Column(db.Integer,
                          db.ForeignKey('branches.id'),
                          nullable=False)
    courses = db.relationship('Course',
                              secondary=course_helper,
                              backref=db.backref('students'))
    submissions = db.relationship('Submission', backref='user')
    requests = db.relationship('Request', backref='user')
    quiz_responses = db.relationship('QuizResponse', backref='user')

    def __init__(self, name, email, password, year, branch_id):
        self.name = name
        self.email = email
        self.password_hash = generate_password_hash(password)
        self.year = year
        self.branch_id = branch_id

    def to_dict(self):
        return {
            'id': self.id,
            'Name': self.name,
            'E-Mail': self.email,
            'Year': self.year,
            'Branch': self.branch.name
        }

    def check_password(self, password):
        return check_password_hash(self.password_hash, password)

    @property
    def requested_courses(self):
        req_courses = []
        for request in self.requests:
            req_courses.append(request.course)
        return req_courses
Пример #23
0
class Appointment(db.Model):
    __tablename__ = 'appointents'
    id = db.Column(db.Integer, primary_key=True)
    patient_id = db.Column(db.Integer,
                           db.ForeignKey('patients.id'),
                           nullable=False)
    doctor_id = db.Column(db.Integer,
                          db.ForeignKey('users.id'),
                          nullable=False)
    date = db.Column(db.DateTime, nullable=False)
    created_on = db.Column(db.DateTime, nullable=False, default=datetime.now)
    status = db.Column(db.String(10), default='pending')
    doctor = db.relationship('User',
                             backref='appointments',
                             lazy=True,
                             cascade='delete')
    patient = db.relationship('Patient',
                              backref='appointments',
                              lazy=True,
                              cascade='delete')
Пример #24
0
class quizQuestionResponse(db.Model):
    __tablename__ = 'quizquestionresponses'
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    question_id = db.Column(db.Integer, db.ForeignKey('questions.id'))
    quiz_id = db.Column(db.Integer, db.ForeignKey('quizzes.id'))
    response = db.Column(db.String(), nullable=False)
    quiz_response_id = db.Column(db.Integer, db.ForeignKey('quizresponses.id'))

    @property
    def isCorrect(self):
        print(self.response, self.question.ans)
        return sorted(self.response.split(',')) == sorted(
            self.question.ans.split(','))

    @property
    def marks(self):
        if self.isCorrect:
            return self.question.marks
        else:
            if self.question.is_partial:
                ans = 0
                for resp_id_string in self.response.split(','):
                    print(resp_id_string, self.question.ans.split(','),
                          self.response)
                    if resp_id_string in self.question.ans.split(','):
                        ans += 1
                    else:
                        return 0
                return ans * self.question.marks / len(
                    self.question.ans.split(','))
            else:
                return 0

    @property
    def attemptlist(self):
        return self.response.split(',')
Пример #25
0
class User(db.Model):
    __tablename__ = "users"

    id = db.Column('user_id', db.Integer, primary_key=True)
    username = db.Column('username', db.String(20), unique=True, index=True)
    password = db.Column('password', db.String(255))
    email = db.Column('email', db.String(60), unique=True, index=True)
    registered_on = db.Column('registered_on', db.DateTime)

    def __init__(self, username, password, email):
        self.username = username
        self.password = password
        self.email = email
        self.registered_on = datetime.utcnow()

    def is_authenticated(self):
        return True

    def is_active(self):
        return True

    def is_anonymous(self):
        return False

    def get_id(self):
        return str(self.id)

    def __repr__(self):
        return '<User %r>' % (self.username)

    # don't judge me...
    def unique(self):

        e_e = email_e = db.session.query(
            User.email).filter_by(email=self.email).scalar() is None
        u_e = username_e = db.session.query(
            User.username).filter_by(username=self.username).scalar() is None

        # none exist
        if e_e and u_e:
            return 0

        # email already exists
        elif e_e == False and u_e == True:
            return -1

        # username already exists
        elif e_e == True and u_e == False:
            return -2

        # both already exists
        else:
            return -3

    def serialize(self):
        return {
            'id': self.id,
            'username': self.username,
            'email': self.email,
            'registered_on': self.registered_on,
        }
Пример #26
0
from enum import unique
# from cms.core.views import index
from cms import db,login_manager
from werkzeug.security import generate_password_hash,check_password_hash
from flask_login import UserMixin
from datetime import datetime

@login_manager.user_loader
def load_user(user_id):
    return Professor.query.get(user_id)


course_helper=db.Table('course_helper',
                        db.Column('user_id',db.Integer,db.ForeignKey('users.id')),
                        db.Column('course_id',db.Integer,db.ForeignKey('courses.id'))
                        )
branch_helper=db.Table('branch_helper',
                        db.Column('course_id',db.Integer,db.ForeignKey('courses.id')),
                        db.Column('branch_id',db.Integer,db.ForeignKey('branches.id'))
                        )
class Branch(db.Model):
    __tablename__='branches'
    id= db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    students= db.relationship('User', backref='branch', lazy=True)
    professors= db.relationship('Professor', backref='branch', lazy=True)
    def __init__(self,name):
        self.name = name
    def __repr__(self)-> str:
        return self.name
class User(db.Model,UserMixin):
Пример #27
0
class Contact(db.Model):
    __tablename__ = 'Contact'

    id = db.Column(db.Integer, primary_key=True)
    organization = db.Column(db.String())
    title = db.Column(db.String())
    firstName = db.Column(db.String())
    lastName = db.Column(db.String())
    cellPhone = db.Column(db.String())
    workPhone = db.Column(db.String())
    email = db.Column(db.String())
    description = db.Column(db.String())
    remark = db.Column(db.String())
    created_at = db.Column('created_at', db.DateTime)

    def __init__(self, organization, title, firstName, lastName, cellPhone,
                 workPhone, email, description, remark):
        self.organization = organization
        self.title = title
        self.firstName = firstName
        self.lastName = lastName
        self.cellPhone = cellPhone
        self.workPhone = workPhone
        self.email = email
        self.description = description
        self.remark = remark
        self.created_at = datetime.utcnow()

    def __repr__(self):
        return '<id {}>'.format(self.id)

    def serialize(self):
        return {
            'id': self.id,
            'organization': self.organization,
            'title': self.title,
            'firstName': self.firstName,
            'lastName': self.lastName,
            'cellPhone': self.cellPhone,
            'workPhone': self.workPhone,
            'email': self.email,
            'description': self.description,
            'remark': self.remark,
            'created_at': self.created_at
        }
Пример #28
0
class Medicine(db.Model):
    __tablename__ = 'medicines'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), unique=True, nullable=False)
    count = db.Column(db.Integer, nullable=False)
    last_stocked = db.Column(db.DateTime, nullable=False)
Пример #29
0
class Findings(db.Model):
    __tablename__ = 'findings'
    id = db.Column(db.Integer, primary_key=True)
    findings = db.Column(db.String(50), nullable=False)
Пример #30
0
from cms import db

Enrollments = db.Table('enrollment',
                       db.Column("course_id", db.Integer, db.ForeignKey("course.id"), primary_key=True),
                       db.Column("student_id", db.Integer, db.ForeignKey("student.id"), primary_key=True)
                       )