Beispiel #1
0
 def get(self):
     claims = get_jwt_claims()
     if not claims['is_admin']:
         return {'message': 'User not authorized to view'}, 401
     data = request.args
     # data = _kalika_kendra_parser.parse_args()
     print(data)
     kalika_kendra_name = data.get("kalika_kendra_name")
     cluster_name = data.get("cluster_name")
     cluster_id = data.get("cluster_id")
     kalika_kendra_id = data.get("kalika_kendra_id")
     if kalika_kendra_id:
         kalika_kendras = KalikaKendraModel.find_by_kalika_kendra_id(
             kalika_kendra_id)
     elif kalika_kendra_name:
         kalika_kendras = KalikaKendraModel.find_by_kalika_kendra_name(
             kalika_kendra_name)
     elif cluster_name:
         kalika_kendras = KalikaKendraModel.find_by_cluster_name(
             cluster_name)
     elif cluster_id:
         kalika_kendras = KalikaKendraModel.find_by_cluster_id(cluster_id)
     else:
         return {'message': 'Inadequate keys to fetch data.'}, 401
     if kalika_kendras:
         resp = []
         for kalika_kendra in kalika_kendras:
             resp.append(kalika_kendra.json())
         return resp
     return {'message': 'Kalika Kendra not found'}, 404
Beispiel #2
0
 def json(self):
     return {
         'teacher_id':
         self.id,
         'teacher_name':
         self.teacher_name,
         'teacher_code':
         self.teacher_code,
         'kalika_kendra_id':
         self.kalika_kendra_id,
         'cluster_id':
         self.cluster_id,
         'kalika_kendra_name':
         KalikaKendraModel.find_by_kalika_kendra_id(
             self.kalika_kendra_id).kalika_kendra_name
         if KalikaKendraModel.find_by_kalika_kendra_id(
             self.kalika_kendra_id) else None,
         'cluster_name':
         ClusterModel.find_by_cluster_id(self.cluster_id).cluster_name,
         'isactive':
         self.isactive,
         'bank_account_no':
         self.bank_account_no,
         'bank_name':
         self.bank_name,
         'ifsc':
         self.ifsc,
         'teacher_category':
         self.teacher_category,
         'creation_date':
         str(self.creation_date),
         'modified_date':
         str(self.modified_date)
     }
Beispiel #3
0
 def set_attribute(self, payload):
     cols = [
         'student_name', 'gender', 'aadhar', 'dob', 'class_std',
         'father_name', 'father_occupation', 'mother_name',
         'mother_occupation', 'contact', 'isactive', 'register_date',
         'modified_date', 'modified_by'
     ]
     for col in cols:
         if col in payload.keys():
             setattr(self, col, payload[col])
     if 'cluster_name' in payload.keys():
         cluster = ClusterModel.find_by_cluster_name(
             payload['cluster_name'])
         if not cluster:
             return {
                 "message": f"Cluster name not found for the student"
             }, 401
         self.cluster_id = cluster.id
     if 'kalika_kendra_name' in payload.keys():
         kalika_kendra = KalikaKendraModel.find_by_kalika_kendra_name(
             payload['kalika_kendra_name'])
         if not kalika_kendra:
             return {
                 "message": f"Kalika Kendra name not found for the student"
             }, 401
         self.kalika_kendra_id = cluster.id
Beispiel #4
0
 def __init__(self, **kwargs):
     cols = [
         'teacher_name', 'teacher_code', 'isactive', 'bank_account_no',
         'bank_name', 'ifsc', 'teacher_category', 'creation_date',
         'modified_date'
     ]
     for col in cols:
         setattr(self, col, None)
     for col in kwargs.keys():
         if col in cols:
             setattr(self, col, kwargs[col])
     kalika_kendra = KalikaKendraModel.find_by_kalika_kendra_name(
         kwargs['kalika_kendra_name'])
     # print(kalika_kendra.json())
     if not kalika_kendra:
         return {
             "message": f"Kalika Kendra name not found for the teacher"
         }, 401
     cluster = ClusterModel.find_by_cluster_name(kwargs['cluster_name'])
     if not cluster:
         return {"message": f"Cluster name not found for the teacher"}, 401
     print(cluster.json())
     self.kalika_kendra_id = kalika_kendra.id
     self.cluster_id = cluster.id
     return None
Beispiel #5
0
 def set_attribute(self, payload):
     cols = [
         'teacher_name', 'teacher_code', 'isactive', 'bank_account_no',
         'bank_name', 'ifsc', 'teacher_category', 'modified_date'
     ]
     for col in cols:
         if col in payload.keys():
             setattr(self, col, payload[col])
     if 'cluster_name' in payload.keys():
         cluster = ClusterModel.find_by_cluster_name(
             payload['cluster_name'])
         if not cluster:
             return {
                 "message": f"Cluster name not found for the teacher"
             }, 401
         self.cluster_id = cluster.id
     if 'kalika_kendra_name' in payload.keys():
         kalika_kendra = KalikaKendraModel.find_by_kalika_kendra_name(
             payload['kalika_kendra_name'])
         if not kalika_kendra:
             return {
                 "message": f"Kalika Kendra name not found for the teacher"
             }, 401
         self.kalika_kendra_id = cluster.id
     print(self.json())
Beispiel #6
0
 def json(self):
     student = StudentModel.find_by_student_id(self.student_id)
     cluster = ClusterModel.find_by_cluster_id(student.cluster_id)
     kalika_kendra = KalikaKendraModel.find_by_kalika_kendra_id(
         student.kalika_kendra_id)
     return {
         'result_id':
         self.id,
         'attempt_id':
         self.attempt_id,
         'student_id':
         self.student_id,
         'student_name':
         student.student_name if student else None,
         'cluster_id':
         cluster.id if cluster else None,
         'cluster_name':
         cluster.cluster_name if cluster else None,
         'kalika_kendra_id':
         kalika_kendra.id if kalika_kendra else None,
         'kalika_kendra_name':
         kalika_kendra.kalika_kendra_name if kalika_kendra else None,
         'subject_id':
         self.subject_id,
         'subject_name':
         SubjectModel.find_by_subject_id(self.subject_id).subject_name,
         'assessment_category_id':
         self.category_id,
         'assessment_category_name':
         AssessmentCategoryModel.find_by_category_id(
             self.category_id).category_name,
         'assessment_skill_id':
         self.skill_id,
         'assessment_skill_name':
         AssessmentSkillModel.find_by_skill_id(self.skill_id).skill_name
         if AssessmentSkillModel.find_by_skill_id(self.skill_id) else None,
         'assessment_period_id':
         self.period_id,
         'assessment_year':
         self.year,
         'assessment_month':
         self.month,
         'assessment_day':
         self.day,
         'assessment_session':
         self.session,
         'assessment_score':
         self.score,
         'assessment_full_score':
         self.full_score,
         'assessment_grade':
         self.grade,
         'creation_date':
         str(self.creation_date),
         'modified_date':
         str(self.modified_date),
         'modified_by':
         self.modified_by
     }
Beispiel #7
0
 def find_by_any(cls, **kwargs):
     cols = [
         'teacher_id', 'teacher_name', 'teacher_code', 'cluster_id',
         'kalika_kendra_id', 'cluster_name', 'kalika_kendra_name',
         'isactive', 'bank_account_no', 'bank_name', 'ifsc',
         'teacher_category'
     ]
     filter_str = 'cls.query'
     if 'bank_account_no' in kwargs.keys():
         filter_str = filter_str + '.filter_by(bank_account_no="' + str(
             kwargs['bank_account_no']) + '")'
     if 'bank_name' in kwargs.keys():
         filter_str = filter_str + '.filter_by(bank_name="' + str(
             kwargs['bank_name']) + '")'
     if 'ifsc' in kwargs.keys():
         filter_str = filter_str + '.filter_by(ifsc="' + str(
             kwargs['ifsc']) + '")'
     if 'teacher_category' in kwargs.keys():
         filter_str = filter_str + '.filter_by(teacher_category="' + str(
             kwargs['teacher_category']) + '")'
     if 'creation_date' in kwargs.keys():
         filter_str = filter_str + '.filter_by(creation_date="' + str(
             kwargs['creation_date']) + '")'
     if 'modified_date' in kwargs.keys():
         filter_str = filter_str + '.filter_by(modified_date="' + str(
             kwargs['modified_date']) + '")'
     if 'teacher_id' in kwargs.keys():
         filter_str = filter_str + '.filter_by(id="' + str(
             kwargs['teacher_id']) + '")'
     if 'teacher_name' in kwargs.keys():
         filter_str = filter_str + '.filter_by(teacher_name="' + str(
             kwargs['teacher_name']) + '")'
     if 'teacher_code' in kwargs.keys():
         filter_str = filter_str + '.filter_by(teacher_code="' + str(
             kwargs['teacher_code']) + '")'
     if 'cluster_id' in kwargs.keys():
         filter_str = filter_str + '.filter_by(cluster_id="' + str(
             kwargs['cluster_id']) + '")'
     if 'kalika_kendra_id' in kwargs.keys():
         filter_str = filter_str + '.filter_by(kalika_kendra_id="' + str(
             kwargs['kalika_kendra_id']) + '")'
     if 'kalika_kendra_name' in kwargs.keys():
         kalika_kendra = KalikaKendraModel.find_by_kalika_kendra_name(
             kwargs['kalika_kendra_name'])
         if kalika_kendra:
             kalika_kendra_id = kalika_kendra.id
             filter_str = filter_str + '.filter_by(kalika_kendra_id="' \
                          + str(kalika_kendra_id) + '")'
     if 'cluster_name' in kwargs.keys():
         cluster = ClusterModel.find_by_cluster_name(kwargs['cluster_name'])
         if cluster:
             cluster_id = cluster.id
             filter_str = filter_str + '.filter_by(cluster_id="' \
                          + str(cluster_id) + '")'
     if 'isactive' in kwargs.keys():
         filter_str = filter_str + '.filter_by(isactive="' + str(
             kwargs['isactive']) + '")'
     filter_str = filter_str + '.all()'
     return eval(filter_str)
Beispiel #8
0
 def json(self):
     return {
         'student_id':
         self.id,
         'student_name':
         self.student_name,
         'gender':
         self.gender,
         'aadhar':
         self.aadhar,
         'dob':
         self.dob,
         'class_std':
         self.class_std,
         'kalika_kendra_id':
         self.kalika_kendra_id,
         'kalika_kendra_name':
         KalikaKendraModel.find_by_kalika_kendra_id(
             self.kalika_kendra_id).kalika_kendra_name
         if KalikaKendraModel.find_by_kalika_kendra_id(
             self.kalika_kendra_id) else None,
         'cluster_name':
         ClusterModel.find_by_cluster_id(self.cluster_id).cluster_name,
         'cluster_id':
         self.cluster_id,
         'father_name':
         self.father_name,
         'father_occupation':
         self.father_occupation,
         'mother_name':
         self.mother_name,
         'mother_occupation':
         self.mother_occupation,
         'contact':
         self.contact,
         'isactive':
         self.isactive,
         'register_date':
         str(self.register_date),
         'modified_date':
         str(self.modified_date),
         'modified_by':
         self.modified_by
     }
Beispiel #9
0
 def delete(self):
     claims = get_jwt_claims()
     if not claims['is_admin']:
         return {'message': 'Admin privilege required.'}, 401
     data = _kalika_kendra_parser.parse_args()
     kalika_kendra_name = data["kalika_kendra_name"]
     kalika_kendra = KalikaKendraModel.find_by_kalika_kendra_name(
         kalika_kendra_name)
     if kalika_kendra:
         kalika_kendra.delete_from_db()
         return {'message': 'Kalika Kendra deleted.'}
     return {'message': 'Kalika Kendra not found.'}, 404
Beispiel #10
0
 def post(self):
     claims = get_jwt_claims()
     if not claims['is_admin']:
         return {'message': 'Admin privilege required.'}, 401
     data = _kalika_kendra_parser.parse_args()
     kalika_kendra_name = data["kalika_kendra_name"]
     if KalikaKendraModel.find_by_kalika_kendra_name(kalika_kendra_name):
         return {
             'message':
             f"A Kalika Kendra with name '{kalika_kendra_name}' already exists."
         }, 400
     cluster = ClusterModel.find_by_cluster_name(data['cluster_name'])
     if not cluster:
         return {
             "message": f"Cluster name not found for the Kalika Kendra"
         }, 401
     kalika_kendra = KalikaKendraModel(**data)
     try:
         kalika_kendra.save_to_db()
     except Exception as e:
         return {
             "message":
             f"An error occurred inserting the Kalika Kendra. Error: {repr(e)}"
         }, 500
     return kalika_kendra.json(), 201
Beispiel #11
0
 def get(self):
     claims = get_jwt_claims()
     if not claims['is_admin']:
         return {'message': 'User not authorized to view'}, 401
     data = request.args
     kalika_kendras = KalikaKendraModel.find_by_any(**data)
     if kalika_kendras:
         resp = []
         for kalika_kendra in kalika_kendras:
             resp.append(kalika_kendra.json())
         return resp
     else:
         return {'message': 'Kalika Kendra not found'}
Beispiel #12
0
 def get(self):
     data = dict(request.args)
     print(data)
     claims = get_jwt_claims()
     if not claims['is_admin']:
         if not claims['teacher_code']:
             return {
                 'message':
                 'User not a teacher. Unauthorized to view student data.'
             }, 401
         else:
             teacher = TeacherModel.find_by_teacher_code(
                 claims['teacher_code'])
             student_kalika_kendra_id = teacher.kalika_kendra_id
             student_kalika_kendra_name = KalikaKendraModel.find_by_kalika_kendra_id(
                 student_kalika_kendra_id).kalika_kendra_name
         if data.get("kalika_kendra_id"):
             if data.get("kalika_kendra_id") != student_kalika_kendra_id:
                 return {
                     'message':
                     'User not authorized to view other Kalika Kendra data.'
                 }, 401
         elif data.get("kalika_kendra_name"):
             if data.get(
                     "kalika_kendra_name") != student_kalika_kendra_name:
                 return {
                     'message':
                     'User not authorized to view other Kalika Kendra data.'
                 }, 401
         else:
             data["kalika_kendra_id"] = student_kalika_kendra_id
     students = StudentModel.find_by_student_by_any(**data)
     if students:
         resp = []
         for student in students:
             resp.append(student.json())
         return resp
     else:
         return {'message': 'Students not found'}
Beispiel #13
0
 def __init__(self, **kwargs):
     cols = [
         'student_name', 'gender', 'aadhar', 'dob', 'class_std',
         'father_name', 'father_occupation', 'mother_name',
         'mother_occupation', 'contact', 'isactive', 'register_date',
         'modified_date', 'modified_by', 'kalika_kendra_id', 'cluster_id'
     ]
     for col in cols:
         setattr(self, col, None)
     for col in kwargs.keys():
         if col in cols:
             setattr(self, col, kwargs[col])
     if kwargs.get('kalika_kendra_name'):
         kalika_kendra = KalikaKendraModel.find_by_kalika_kendra_name(
             kwargs['kalika_kendra_name'])
         if kalika_kendra:
             self.kalika_kendra_id = kalika_kendra.id
     if kwargs.get('cluster_name'):
         cluster = ClusterModel.find_by_cluster_name(kwargs['cluster_name'])
         if cluster:
             self.cluster_id = cluster.id
     return None
Beispiel #14
0
 def put(self):
     claims = get_jwt_claims()
     if not claims['is_admin']:
         return {'message': 'Admin privilege required.'}, 401
     data = _kalika_kendra_parser.parse_args()
     for key in data.keys():
         if str(data[key]).lower() in ('none', 'null', ''):
             data[key] = None
     kalika_kendra_name = data["kalika_kendra_name"]
     kalika_kendra = KalikaKendraModel.find_by_kalika_kendra_name(
         kalika_kendra_name)
     if kalika_kendra:
         kalika_kendra.set_attribute(data)
     else:
         kalika_kendra = KalikaKendraModel(**data)
     kalika_kendra.save_to_db()
     return kalika_kendra.json()
Beispiel #15
0
 def find_by_student_by_any(cls, **kwargs):
     print(kwargs)
     filter_str = 'cls.query'
     if 'contact' in kwargs.keys():
         filter_str = filter_str + '.filter_by(contact="' + str(
             kwargs['contact']) + '")'
     if 'isactive' in kwargs.keys():
         filter_str = filter_str + '.filter_by(isactive="' + str(
             kwargs['isactive']) + '")'
     if 'register_date' in kwargs.keys():
         filter_str = filter_str + '.filter_by(register_date="' + str(
             kwargs['register_date']) + '")'
     if 'modified_date' in kwargs.keys():
         filter_str = filter_str + '.filter_by(modified_date="' + str(
             kwargs['modified_date']) + '")'
     if 'modified_by' in kwargs.keys():
         filter_str = filter_str + '.filter_by(modified_by="' + str(
             kwargs['modified_by']) + '")'
     if 'class_std' in kwargs.keys():
         filter_str = filter_str + '.filter_by(class_std="' + str(
             kwargs['class_std']) + '")'
     if 'kalika_kendra_id' in kwargs.keys():
         filter_str = filter_str + '.filter_by(kalika_kendra_id="' + str(
             kwargs['kalika_kendra_id']) + '")'
     if 'cluster_id' in kwargs.keys():
         filter_str = filter_str + '.filter_by(cluster_id="' + str(
             kwargs['cluster_id']) + '")'
     if 'kalika_kendra_name' in kwargs.keys():
         kalika_kendra = KalikaKendraModel.find_by_kalika_kendra_name(
             kwargs["kalika_kendra_name"])
         print(kalika_kendra.json())
         if kalika_kendra:
             kalika_kendra_id = kalika_kendra.id
             filter_str = filter_str + '.filter_by(kalika_kendra_id="' + str(
                 kalika_kendra_id) + '")'
     if 'cluster_name' in kwargs.keys():
         cluster = ClusterModel.find_by_cluster_name(kwargs["cluster_name"])
         if cluster:
             cluster_id = cluster.id
             filter_str = filter_str + '.filter_by(cluster_id="' + str(
                 kwargs['cluster_id']) + '")'
     if 'father_occupation' in kwargs.keys():
         filter_str = filter_str + '.filter_by(father_occupation="' + str(
             kwargs['father_occupation']) + '")'
     if 'mother_name' in kwargs.keys():
         filter_str = filter_str + '.filter_by(mother_name="' + str(
             kwargs['mother_name']) + '")'
     if 'mother_occupation' in kwargs.keys():
         filter_str = filter_str + '.filter_by(mother_occupation="' + str(
             kwargs['mother_occupation']) + '")'
     if 'student_id' in kwargs.keys():
         filter_str = filter_str + '.filter_by(student_id="' + str(
             kwargs['student_id']) + '")'
     if 'student_name' in kwargs.keys():
         filter_str = filter_str + '.filter_by(student_name="' + str(
             kwargs['student_name']) + '")'
     if 'gender' in kwargs.keys():
         filter_str = filter_str + '.filter_by(gender="' + str(
             kwargs['gender']) + '")'
     if 'aadhar' in kwargs.keys():
         filter_str = filter_str + '.filter_by(aadhar="' + str(
             kwargs['aadhar']) + '")'
     if 'dob' in kwargs.keys():
         filter_str = filter_str + '.filter_by(dob="' + str(
             kwargs['dob']) + '")'
     filter_str = filter_str + '.all()'
     return eval(filter_str)
Beispiel #16
0
 def find_by_kalika_kendra_name(cls, kalika_kendra_name):
     kalika_kendra = KalikaKendraModel.find_by_kalika_kendra_name(
         kalika_kendra_name)
     return cls.query.filter_by(kalika_kendra_id=kalika_kendra.id).first()